Titre:
Title: Optimizing user experience in choosing android applications
Auteurs:
Authors:
Rubén Saborido, Giovanni Beltrame, Foutse Khomh, Enrique Alba et Giuliano Antoniol
Date: 2016
Type: Rapport / Report
Référence:
Citation:
Saborido, R., Beltrame, G., Khomh, F., Alba, E. & Antoniol, G. (2016). Optimizing user experience in choosing android applications (Rapport technique n° EPM-RT-2016-03).
Document en libre accès dans PolyPublie
Open Access document in PolyPublie
URL de PolyPublie:
PolyPublie URL: https://publications.polymtl.ca/2971/
Version: Version officielle de l'éditeur / Published versionNon révisé par les pairs / Unrefereed Conditions d’utilisation:
Terms of Use: Tous droits réservés / All rights reserved
Document publié chez l’éditeur officiel
Document issued by the official publisher
Maison d’édition:
Publisher: École Polytechnique de Montréal
URL officiel:
Official URL: https://publications.polymtl.ca/2971/
Mention légale:
Legal notice:
Ce fichier a été téléchargé à partir de PolyPublie, le dépôt institutionnel de Polytechnique Montréal
This file has been downloaded from PolyPublie, the institutional repository of Polytechnique Montréal
EPM-RT-2016-01
OPTIMIZING USER EXPERIENCE IN CHOOSING ANDROID APPLICATIONS
Rubén Saborido1, Giovanni Beltrame1, Foutse Khomh1,
Enrique Alba2, Giuliano Antoniol1
Département de génie informatique et génie logiciel1
École Polytechnique de Montréal Department of Computer Science2
University of Malaga
EPM-RT-2016-03
Optimizing User Experience
in Choosing Android Applications
Rubén Saborido
1, Giovanni Beltrame
1, Foutse Khomh
1,
Enrique Alba
2, Giuliano Antoniol
1Département de génie informatique et génie logiciel
1École Polytechnique de Montréal
Department of Computer Science
22016
Rubén Saborido, Giovanni Beltrame, Foutse Khomh, Enrique Alba, Giuliano Antoniol
Tous droits réservés
Dépôt légal :
Bibliothèque nationale du Québec, 2016 Bibliothèque nationale du Canada, 2016
EPM-RT-2016-03
Optimizing User Experience in Choosing Android Applications par : Rubén Saborido1, Giovanni Beltrame1, Foutse Khomh1,
Enrique Alba2, Giuliano Antoniol1
Département de génie informatique et génie logiciel1
École Polytechnique de Montréal Department of Computer Science2
University of Malaga
Toute reproduction de ce document à des fins d'étude personnelle ou de recherche est autorisée à la condition que la citation ci-dessus y soit mentionnée.
Tout autre usage doit faire l'objet d'une autorisation écrite des auteurs. Les demandes peuvent être adressées directement aux auteurs (consulter le bottin sur le site http://www.polymtl.ca/) ou par l'entremise de la Bibliothèque :
École Polytechnique de Montréal
Bibliothèque – Service du Prêt entre bibliothèques Case postale 6079, Succursale «Centre-Ville» Montréal (Québec)
Canada H3C 3A7
Téléphone : (514) 340-4846
Télécopie : (514) 340-4026
Courrier électronique : biblio.sfd@courriel.polymtl.ca
Ce rapport technique peut-être repéré par auteur et par titre dans le catalogue de la Bibliothèque :
Optimizing User Experience
in Choosing Android Applications
Technical Report
Paper presented in SANER 2016
23rd IEEE International Conference on
Software Analysis, Evolution, and Reengineering.
Rub´
en Saborido, Giovanni Beltrame, Foutse Khomh,
Enrique Alba, Giuliano Antoniol
Abstract
Why is my cell phone battery already low? How did I use almost all the data of my monthly Internet plan? Is my recently released new application more efficient than similar competing applications? These are not easy questions to answer. Different applications implementing similar or identical functionalities may have different energy consumptions. In the paper associated to this technical report we present a recommendation system aimed at helping users and developers alike. We help users to choose optimal sets of appli-cations belonging to different categories (eg. browsers, e-mails, cameras) while minimizing energy consumption, transmitted data, and maximizing application rating. We also help developers by showing the relative placement of their application’s efficiency with respect to selected others. When the optimal set of applications is computed, it is leveraged to position a given application with respect to the optimal, median and worst application in its category (eg. browsers).
Out of eight categories we selected 144 applications, manually defined typical execution scenarios, collected the relevant data, and computed the Pareto optimal front solving a multi-objective optimization problem. We report evidence that, on the one hand, ratings do not correlate with energy efficiency and data frugality. On the other hand, we show that it is possible to help developers understanding how far is a new Android application power consumption and network usage with respect to optimal applications in the same category.
From the user perspective, we show that choosing optimal sets of applications, power consumption and network usage can be reduced by 16.61% and 40.17%, respectively, in comparison to choosing the set of applications that maximizes only the rating.
This document is the technical report associated to the paper “Optimizing User Experience in Choosing Android Applications” [3]. Here we extent the original paper answering some questions related to the optimization process and giving all the figures and statistical tests generated in our experiments. Therefore, this document can be considered as an appendix of the original paper.
1
Optimization problem solved by ADAGO
Here we summarize the multi-objective optimization problem described in the paper and solved by ADAGO (our approach to found optimal sets of Android applications minimizing power consumption and network usage, and maximizing the applications rating). Let C = {C1, ..., CN}
be a set of categories. Further assume that, for each category Ci, a set Ai of applications has
been selected. In other words, A = {A1, ..., AN} is the application set of sets. An element x of
the search space F, x = (x1, . . . , xN), is a set of applications where xj is an application selected
from Aj and an application from each category in C has been chosen. In other words, a solution
must contain an application per category and all categories must be present.
ADAGO goal is to analyze the trade-off between power consumption, network usage and global rating, and it models the following combinatorial multi-objective optimization problem:
optimize [power(x), network(x), rating(x)]
s.t. x ∈ F (1)
Given a solution x, the objective functions used in (1) are calculated as follow:
power(x) = PN i=1power(xi) N (2) network(x) = PN i=1network(xi) N (3) rating(x) = PN i=1rating(xi) N (4)
In equations (5) and (6), power(xi) and network(xi) are the average values of power (in Watts)
and network usage (in megabytes) for application xi in a certain number of runs and for a given
2
Choosing an optimal app by category is an optimal
solution?
It is normal to ask if an optimal application is chosen by each category the final set of applica-tions is an optimal solution. Here we show that choosing an optimal application per category does not warranty an optimal solution for our problem.
Let us suppose we have two categories, Category A and Category B, and two apps in each of them. The objective values associated to these apps are showed in Table 1.
Table 1: Pareto optimal apps per category
Category A Category B
Objective Power Network Rating Power Network Rating
App1 1 4 4 5 2 4
App2 4 1 4 1 3 4
Given that we have two solutions per category and two categories, there exist 22 = 4
possible combinations of applications. For each combination the objective values are calculated considering the following equations (or using the average dividing by N like in the paper, but we use these ones for simplicity):
power(x) = C X i=1 power(xi) (5) network(x) = C X i=1 network(xi) (6) rating(x) = C X i=1 rating(xi) (7)
All the combinations and its respective objective values are showed in Table 2. As is showed, the solution associated to Combination 1 is not Pareto optimal because it is dominated by the solution associated to Combination 4. So, we conclude that Combination 1 is not a Pareto optimal solution and it is not consider a solution for us.
Table 2: All the possible combinations
Category A Category B Solution
Objective Power Network Rating Power Network Rating Power Network Rating
Combination 1 1 4 4 5 2 4 6 6 8
Combination 2 1 4 4 1 3 4 2 7 8
Combination 3 4 1 4 5 2 4 9 3 8
3
Solving the Problem using Metaheuristics
If the number of categories or the number of applications per category is greater the search space could be too large to be explored exhaustively and metaheuristics would be needed. In these cases, the multi-objective optimization problem (1) can be solved using EMO algorithms, as NSGA-II. To check this fact, problem (1) is defined and included in jMetal [2], an object-oriented Java-based framework for multi-objective optimization with meta-heuristics. Considering the parameters settings described in Table 3, NSGA-II is run five times for each value of the crossover probability, what supposes five independent runs for each Px value. These well known
parameters and operators are commented in [1]. Finally, Pareto optimal solutions generated in each run are combined and filtered applying the Pareto dominance relation to generate a global reference front, which contains the set of best solutions considering all the runs.
Table 3: Parameters settings for NSGA-II
Parameter Value
Population size 200
Generations 300
Crossover operator Single point crossover Crossover probability (Px) 0.3, 0.5, 0.7, 0.9
Mutation operator Flip mutation
Mutation probability (Pm) 1/C = 0.125
Selection operator Binary tournament
The Single Point crossover operator is used because it is one of the simplest crossover operators and it works reasonably fine in combinatorial problems. When two parents are selected, with a probability of Px the operator is used to create new individuals. It selects a
point on both parents and all data beyond that point in either individual is swapped between the two parents. The resulting solutions or individuals are the offspring. Considering the mutation, the Flip mutation operator is used. It changes the value of a gene in the individual, with a probability of Pm, with a new value generated randomly in the lower and upper bounds range.
The Binary tournament selection operator is used to select individuals in the population to create the offspring. This operator selects two solutions randomly in the population and chooses the best one, of one of them with a probability of 0.5 if they are equivalents. The final ADAGO Pareto optimal front obtained by NSGA-II is showed in Figure 1 where it is compared to the Pareto optimal front generated exhaustively after the search space reduction.
2.2 2.3 2.4 2.5 2.6 2.7 2.8 1.5 1.55 1.6 1.651.7 1.751.8 1.85 1.9 1.95 2 4.15 4.2 4.25 4.3 4.35 4.4 4.45 4.5 4.55 RATING
ADAGO solutions using exhaustive search ADAGO solutions using NSGAII
POWER (in W)
NETWORK (in MB) RATING
NSGA-II is able to generate a subset of Pareto optimal solutions for problem (1) and, therefore, we can consider this kind of algorithms when exhaustive search is not valid.
4
Statistical Tests
Table 4 reports, for all the categories, the results of Wilcoxon signed-rank and the Cliff-Delta effect size. Bold values for p-value indicate that the comparison is statistically significant (at 95%) after Holmes correction. For each category (first table column), the maximum rating is reported which is the rating associated to the application chosen by the user. One can notice (third column) that the Pareto front contains applications with the user selected application. Actually (see the Music Players category) the user selection is sometime an optimal application. This happened for three categories. In such cases the p-value is not significant and the effect size is zero. What we observe in Table 4 is that not always the ADAGO solution has the lower energy (data overhead) consumption. Anyway, as we expected, either the user selection is optimal or ADAGO applications have either lower energy footprint or lower data footprint with very significant p-values. Furthermore, the effect size is almost always very high. Cliff delta is considered to be negligible for values below 0.147, small below 0.33, medium below 0.475 and large otherwise. We thus conclude that when (if remove the special case when the user selection is optimal) energy (data overhead) of ADAGO’s application is lower than the user selected, this is statistically significant and with a large effect size.
Table 4: Statistical test comparing ADAGO and the app selected by the user in each category.
Category (max. Rating) Application Rating Power Network
p-val cliffd p-val cliffd
Browsers (4.60) com.apusapps.browser 4.60 0.8299 0.2050 0.0000 0.9500 com.ksmobile.cb 4.60 0.9042 0.0250 0.0000 0.9500 com.opera.mini.native 4.40 0.0448 0.4650 0.0000 0.9500 com.UCMobile.intl 4.50 0.8299 0.1750 0.0000 0.9500 Cameras (4.50) cn.jingling.motu.photowonder 4.30 0.0000 -1.0000 0.0000 0.9444 com.arcsoft.perfect365 4.20 1.0000 -0.1852 0.0000 0.9444 com.finnal.photoeditor 4.20 0.0000 -0.9938 0.0000 0.9444 com.kvadgroup.photostudio 4.10 0.0000 -0.9444 0.0000 0.9444 com.lyrebirdstudio.mirror 4.20 1.0000 0.1111 0.0000 0.9444 com.picsart.studio 4.40 0.0002 0.7500 1.0000 -0.0185 com.pixlr.express 4.40 1.0000 0.0679 0.0000 0.9444 com.roidapp.photogrid (*) 4.50 1.0000 0.0000 1.0000 0.0000 com.seventeenmiles.sketch 4.30 0.0000 -0.9877 0.0000 0.9444 com.studio8apps.instasizenocrop 4.40 0.0000 -0.9877 0.0000 0.9444
Emails (4.30) com.fsck.k9 (*) 4.30 1.0000 0.0000 NaN 0.0000
com.google.android.gm 4.30 0.0159 0.8000 0.0040 -1.0000 Flash Lights (4.70) com.apusapps.tools.flashtorch 4.30 0.0006 0.6850 0.0000 0.9500 com.devuni.flashlight 4.40 0.0413 0.4700 0.0000 0.9500 com.intellectualflame.ledflashlight.washer 4.50 0.0013 0.6500 0.0085 0.5300 com.rayg.flashlightfree 3.80 0.0000 0.8700 0.0000 0.9500 com.rvappstudios.flashlight 4.30 0.0000 -0.9500 0.0000 0.9500 com.teslacoilsw.flashlight 4.50 0.4251 0.2550 0.0000 0.9500 com.zeroneapps.flashlight 3.90 0.0000 0.7950 0.0000 0.9125 flashlight.led.clock 4.40 0.4251 0.2750 0.0000 0.9500 goldenshorestechnologies.brightestflashlight.free (*) 4.70 1.0000 0.0000 1.0000 0.0000 Music Players (4.60) cn.voilet.musicplaypro 4.40 0.0000 0.9500 0.0000 -1.0000 com.aimp.player 4.50 0.0000 0.8550 0.0000 0.9500 com.n7mobile.nplayer 4.50 0.0064 0.5350 0.0000 0.9500 com.tbig.playerprotrial (*) 4.60 1.0000 0.0000 1.0000 0.0000 News (4.50) com.mobilesrepublic.appy 4.50 0.0032 0.5350 0.0000 0.9500 net.aljazeera.english 4.10 0.0019 0.5950 0.0000 0.9500 Video Players (4.50) com.kmplayer 4.20 0.0037 0.5950 0.0001 -0.7850 org.videolan.vlc 4.40 0.0586 0.4300 0.0008 0.6225 video.player.audio.player.music (*) 4.50 1.0000 0.0000 1.0000 0.0000 videoplayer.mediaplayer.hdplayer 4.50 0.8899 0.1450 1.0000 -0.0900 Weather (4.50) com.droid27.senseflipclockweather 4.20 0.0154 0.5100 0.0000 0.9175 com.droid27.transparentclockweather 4.30 0.0154 0.5100 0.0000 0.8875 com.gau.go.launcherex.gowidget.weatherwidget 4.50 0.1572 0.2650 0.0000 0.9500 com.weather.Weather 4.30 0.0000 0.7550 0.0071 -0.5000 de.wetteronline.wetterapp 4.50 0.0057 0.5750 0.0000 0.8200 local.weather.forecast.pro 4.10 0.0052 0.5900 0.0000 0.9500
5
Additional Figures and Charts
Figures 2-7 show the average power consumption and the total network usage, in 20 runs, for each application in the different categories.
com.android.chrome com.apusapps .bro wser com.baidu.bro wser .inter com.boatbro wser .free com.e xplore .w eb .bro wser com.jiubang.bro wser com.ksmobile .cb com.mx.bro wser com.mx.bro wser .appendix com.oper a.bro wser com.oper a.mini.nativ e com.orbitum.bro wser com.UCMobile .intl com.y ande x.bro wser iron.w eb .jalepano .bro wser mobi.mgeek.T unn yBro wser net.f ast.w eb .bro wser nu.tommie .inbro wser org.easyw eb .bro wser org.mozilla.firef ox 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Power consumption (in W) by app
com.android.chrome com.apusapps .bro wser com.baidu.bro wser .inter com.boatbro wser .free com.e xplore .w eb .bro wser com.jiubang.bro wser com.ksmobile .cb com.mx.bro wser com.mx.bro wser .appendix com.oper a.bro wser com.oper a.mini.nativ e com.orbitum.bro wser com.UCMobile .intl com.y ande x.bro wser iron.w eb .jalepano .bro wser mobi.mgeek.T unn yBro wser net.f ast.w eb .bro wser nu.tommie .inbro wser org.easyw eb .bro wser org.mozilla.firef ox 0 1 2 3 4 5 6
Network usage (in MB) by app
Figure 2: Average power consumption and network usage for apps in the Browsers category.
cn.jingling.motu.photo w onder com.arcsoft.perf ect365 com.commsource .beautyplus com.cyber link.y ouperf ect com.cyw or ld.camer a com.dumplingsandwich.pencilsk etch com.finnal.photoeditor com.joe w are .android.gpulumer a com.kv adgroup .photostudio com.lyrebirdstudio .mirror com.magix.camer a_mx com.picsar t.studio com.pixlr .e xpress com.roidapp .photogr id com.scoompa.collagemak er com.se venteenmiles .sk etch com.studio8apps .instasiz enocrop com.vsco .cam jp .na ver .linecamer a.android vStudio .Android.Camer a360 3.0 3.5 4.0 4.5 5.0
Power consumption (in W) by app
cn.jingling.motu.photo w onder com.arcsoft.perf ect365 com.commsource .beautyplus com.cyber link.y ouperf ect com.cyw or ld.camer a com.dumplingsandwich.pencilsk etch com.finnal.photoeditor com.joe w are .android.gpulumer a com.kv adgroup .photostudio com.lyrebirdstudio .mirror com.magix.camer a_mx com.picsar t.studio com.pixlr .e xpress com.roidapp .photogr id com.scoompa.collagemak er com.se venteenmiles .sk etch com.studio8apps .instasiz enocrop com.vsco .cam jp .na ver .linecamer a.android vStudio .Android.Camer a360 0 2 4 6 8
Network usage (in MB) by app
● ● ● ● ● ● ● ● ● ● FKVPDOOWHFKOHGIODVKOLJKWIUHH FRPDSXVDSSV WRROV IODVKWRUFK FRPGH YXQLIODVKOLJKW FRPGLVFROLJKW FRPJDPH YLOOH IODVKOLJKWB FRPLKDQG\VRIWOHGIODVKOLJKWPLQL FRPLQWHOOHFWXDOIODPH OHGIODVKOLJKWZ DVKHU FRPU D \JIODVKOLJKWIUHH FRPU YDSSVWXGLRV IODVKOLJKW FRPVRFLDOQPRELOH IODVKOLJKW FRPVRFLDOQPRELOH KGIODVKOLJKW FRPVXU SD[OHGIODVKOLJKWSDQHO FRPWHVODFRLOVZIODVKOLJKW FRPWLQ \SLHFH DQGURLGIO FRPWRUFKODPSH IODVKOLJKW FRP] HQWHU WDLQIODVKOLJKW FRP] HURQHDSSV IODVKOLJKW IODVKOLJKWOHGFORFN JROGHQVKRUHVWHFKQRORJLHV EU LJKWHVWIODVKOLJKWIUHH WRUFLDSOXV 3RZHUFRQVXPSWLRQLQ:E\DSS ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●●● ● ● ● ●●●● ●●●●●●● FKVPDOOWHFKOHGIODVKOLJKWIUHH FRPDSXVDSSV WRROV IODVKWRUFK FRPGH YXQLIODVKOLJKW FRPGLVFROLJKW FRPJDPH YLOOH IODVKOLJKWB FRPLKDQG\VRIWOHGIODVKOLJKWPLQL FRPLQWHOOHFWXDOIODPH OHGIODVKOLJKWZ DVKHU FRPU D \JIODVKOLJKWIUHH FRPU YDSSVWXGLRV IODVKOLJKW FRPVRFLDOQPRELOH IODVKOLJKW FRPVRFLDOQPRELOH KGIODVKOLJKW FRPVXU SD[OHGIODVKOLJKWSDQHO FRPWHVODFRLOVZIODVKOLJKW FRPWLQ \SLHFH DQGURLGIO FRPWRUFKODPSH IODVKOLJKW FRP] HQWHU WDLQIODVKOLJKW FRP] HURQHDSSV IODVKOLJKW IODVKOLJKWOHGFORFN JROGHQVKRUHVWHFKQRORJLHV EU LJKWHVWIODVKOLJKWIUHH WRUFLDSOXV 1HWZRUNXVDJHLQ0%E\DSS
Figure 4: Average power consumption and network usage for apps in the Flashlights category.
com.fsck.k9 com.google .android.gm com.microsoft.office .outlook ru.mail.mailapp 1 2 3 4
Power consumption (in W) by app
com.fsck.k9 com.google .android.gm com.microsoft.office .outlook ru.mail.mailapp 9 10 11 12 13
Network usage (in MB) by app
l l l l l l l l l l l l l l l l l cn .v oil et. mu si cp la yp ro co m. ai mp .p la ye r co m. dji t. eq ua li ze rp lu sf or an dr oi dfr ee co m. do ub le Tw is t. an dr oi dP la ye r co m. eli fe ru n. mu si c co m. go og le .a nd ro id . mu si c co m.j rt st ud io .A no th er Mu si cP la ye r co m.j rt st ud io . mu si c co m. mi xz in g. ba si c co m. mj c. me di ap la ye r co m. mr gr ee ns oft .n rg .p la ye r co m. mu si c. pl ay er. mp 3p la ye r. wh it e co m. mu si x ma tc h. an dr oi d.l yri fy co m. n7 mo bil e. np la ye r co m.t bi g. pl ay er pr otr ia l mp 3p la ye r. mp 3c utt er. ri ng to ne ma ke r mp 3s on gs . mp 3p la ye r. mp 3c utt er. ri ng to ne ma ke r mu si c. se ar ch .p la ye r. mp 3p la ye r. cu t. mu si c or g. vi de ol an .v lc yo ng . me di a. mo ob o. mu si cp la ye r 1 2 3 4
Power consumption (in W) by app
l l l l l llll lll lll lll ll l l l l l l l l l ll lll llll l l l l cn .v oil et. mu si cp la yp ro co m. ai mp .p la ye r co m. dji t. eq ua li ze rp lu sf or an dr oi dfr ee co m. do ub le Tw is t. an dr oi dP la ye r co m. eli fe ru n. mu si c co m. go og le .a nd ro id . mu si c co m.j rt st ud io .A no th er Mu si cP la ye r co m.j rt st ud io . mu si c co m. mi xz in g. ba si c co m. mj c. me di ap la ye r co m. mr gr ee ns oft .n rg .p la ye r co m. mu si c. pl ay er. mp 3p la ye r. wh it e co m. mu si x ma tc h. an dr oi d.l yri fy co m. n7 mo bil e. np la ye r co m.t bi g. pl ay er pr otr ia l mp 3p la ye r. mp 3c utt er. ri ng to ne ma ke r mp 3s on gs . mp 3p la ye r. mp 3c utt er. ri ng to ne ma ke r mu si c. se ar ch .p la ye r. mp 3p la ye r. cu t. mu si c or g. vi de ol an .v lc yo ng . me di a. mo ob o. mu si cp la ye r 0.0 0.5 1.0 1.5 2.0 2.5
Network usage (in MB) by app
Figure6: AveragepowerconsumptionandnetworkusageforappsintheMusicPlayers
l l l l l l l l l l l l l l l l l l l ap li ca ci on .ti e mp o co m. ac cu we at he r. an dr oi d co m. ap al on . we at he rli ve .fr ee co m. a ws .a nd ro id co m. de ve xp ert . we at he r co m. dr oi d2 7. se ns efl ip cl oc k we at he r co m. dr oi d2 7.t ra ns pa re nt cl oc k we at he r co m. ex ov oi d. we at he r. ap p go .l au nc he re x. go wi dg et. we at he r wi dg et co m. ha nd ma rk .e xp re ss we at he r co m.i l me te o. an dr oi d.i l me te o co m.l ac ha in e me te o. an dr oi da pp co m. ma cr op in ch .s wa n co m. mo bili ty fl o w. an i ma te d we at he r.f re e co m. pe l mo re x. We at he rE ye An dr oi d co m. we at he r. We at he r m. ya ho o. mo bil e. cli en t. an dr oi d. we at he r de . we tt er on li ne . we tt er ap p lo ca l. we at he r.f or ec as t. pr o mo bi. in fo lif e. ez we at he r 1 2 3 4
Power consumption (in W) by app
l l l l l l l llll llll llll l lll l ll ap li ca ci on .ti e mp o co m. ac cu we at he r. an dr oi d co m. ap al on . we at he rli ve .fr ee co m. a ws .a nd ro id co m. de ve xp ert . we at he r co m. dr oi d2 7. se ns efl ip cl oc k we at he r co m. dr oi d2 7.t ra ns pa re nt cl oc k we at he r co m. ex ov oi d. we at he r. ap p go .l au nc he re x. go wi dg et. we at he r wi dg et co m. ha nd ma rk .e xp re ss we at he r co m.i l me te o. an dr oi d.i l me te o co m.l ac ha in e me te o. an dr oi da pp co m. ma cr op in ch .s wa n co m. mo bili ty fl o w. an i ma te d we at he r.f re e co m. pe l mo re x. We at he rE ye An dr oi d co m. we at he r. We at he r m. ya ho o. mo bil e. cli en t. an dr oi d. we at he r de . we tt er on li ne . we tt er ap p lo ca l. we at he r.f or ec as t. pr o mo bi. in fo lif e. ez we at he r 0 2 4 6 8 10 12 14
Network usage (in MB) by app
cate-gory.
l l l l l l l l l l l l l l l l l l l l bb c. mo bil e. ne ws . w w co m. cn n. mo bil e. an dr oi d. ph on e co m. et er no co m.f ox ne ws .a nd ro id co m. go og le .a nd ro id .a pp s. ge ni e. ge ni e wi dg et co m. gu ar di an co m. hu ffi ng to np os t. an dr oi d co m. mo bil es re pu bli c. ap py co m. ni s. ap p co m. ny ti me s. an dr oi d co m.t oi. re ad er. ac ti vit ie s co m. us at od ay .a nd ro id .n e ws co m. wo rl d. ne ws pa pe rs co m. ya ho o. mo bil e. cli en t. an dr oi d. ya ho o co m. zu mo bi. ms nb c it. pi ne nu ts .r as se gn as ta mp a jp .g oc ro .s ma rt ne ws .a nd ro id mn n. An dr oi d ne t. alj az ee ra .e ng li sh or g. np r. an dr oi d. ne ws 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Power consumption (in W) by app
l l l l l l l l l l l l l l l l lll l l l l l l l l l l l l l l l l l l bb c. mo bil e. ne ws . w w co m. cn n. mo bil e. an dr oi d. ph on e co m. et er no co m.f ox ne ws .a nd ro id co m. go og le .a nd ro id .a pp s. ge ni e. ge ni e wi dg et co m. gu ar di an co m. hu ffi ng to np os t. an dr oi d co m. mo bil es re pu bli c. ap py co m. ni s. ap p co m. ny ti me s. an dr oi d co m.t oi. re ad er. ac ti vit ie s co m. us at od ay .a nd ro id .n e ws co m. wo rl d. ne ws pa pe rs co m. ya ho o. mo bil e. cli en t. an dr oi d. ya ho o co m. zu mo bi. ms nb c it. pi ne nu ts .r as se gn as ta mp a jp .g oc ro .s ma rt ne ws .a nd ro id mn n. An dr oi d ne t. alj az ee ra .e ng li sh or g. np r. an dr oi d. ne ws 0 5 10 15 20 25 30
Network usage (in MB) by app
Figure8: AveragepowerconsumptionandnetworkusageforappsintheNews
l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l air .a ir. co m.j es so ft. fl vp la ye r. MP 4P la ye r co m. an dr oi dc od e mo nk ey .v id eo s.f re e co m. ar ch os . me di ac en te r. vi de ofr ee co m. ax hd pl ay er. vi de op la ye r. ad co m. bs pl ay er. bs pa nd ro id .fr ee co m. eli ft. hd pl ay er co m. k mp la ye r co m. ku so te .v id eo pl ay er co m. mi ne .v id eo pl ay er co m. mx te ch .v id eo pl ay er. ad co m.t en ce nt. re se ar ch .d ro p fl v. mo bil e. an dr oi d me di a. hd .v id eo .p la ye r me di a. vi de o. me di ap la ye r me di a. vi de o. vi de op la ye r or g. vi de ol an .v lc vi de o. pl ay er. au di o. pl ay er. mu si c vi de op la ye r. me di ap la ye r. hd pl ay er vi de op la ye r. mp 3p la ye r. cu tt er. me di ap la ye r yo ng . me di a. hd .u ni ve rs al. pl ay er 1 2 3 4
Power consumption (in W) by app
l lll lll l l l l l l l l ll llllllll ll llll lll l ll l l l l l l l air .a ir. co m.j es so ft. fl vp la ye r. MP 4P la ye r co m. an dr oi dc od e mo nk ey .v id eo s.f re e co m. ar ch os . me di ac en te r. vi de ofr ee co m. ax hd pl ay er. vi de op la ye r. ad co m. bs pl ay er. bs pa nd ro id .fr ee co m. eli ft. hd pl ay er co m. k mp la ye r co m. ku so te .v id eo pl ay er co m. mi ne .v id eo pl ay er co m. mx te ch .v id eo pl ay er. ad co m.t en ce nt. re se ar ch .d ro p fl v. mo bil e. an dr oi d me di a. hd .v id eo .p la ye r me di a. vi de o. me di ap la ye r me di a. vi de o. vi de op la ye r or g. vi de ol an .v lc vi de o. pl ay er. au di o. pl ay er. mu si c vi de op la ye r. me di ap la ye r. hd pl ay er vi de op la ye r. mp 3p la ye r. cu tt er. me di ap la ye r yo ng . me di a. hd .u ni ve rs al. pl ay er 0.0 0.2 0.4 0.6 0.8
Network usage (in MB) by app
category.
l l l l l l l Br o ws er s Ca me ra s E ma il s Fl as hL ig ht s Mu si cP la ye rs Ne ws Vi de oP la ye rs We at he r 1 2 3 4
Average power consumption (in W) by category
l l l l ll l l l l lll ll l l Br o ws er s Ca me ra s E ma il s Fl as hL ig ht s Mu si cP la ye rs Ne ws Vi de oP la ye rs We at he r 0 2 4 6 8 10 12 14
Average network usage (in MB) by category
Figure10: Averagepowerconsumptionandaverageofnetworkusageforapplicationsineach category.
Inordertoanalyzethetradeoffbetweenpowerconsumption,networkusage,andrating, regardingthebestapplicationsineachcategoryafterthesearchspacereduction,asetofplots, namedvaluepaths,isshowedinFigure11.Intheseplots,abarisdrawnforeachobjective anditsheightisdefinedbythe minimumand maximumvaluesofthecorrespondingobjective inthecorrespondingcategory(consideringalloftheinitialapplicationsinthecategoryand notonlythenon-dominatedones). Alineisusedtorepresenteachapplicationinthecategory specifyingthevalueofeachobjectivefunction.
power (in W) network (in MB) rating 0 1 2 3 4 5 6 7 l l l l com.apusapps.browser
com.ksmobile.cb com.opera.mini.native com.UCMobile.intl
Browsers
power (in W) network (in MB) rating
0 2 4 6 8 10 12 l l l l l l l l
cn.jingling.motu.photowonder com.arcsoft.perfect365 com.finnal.photoeditor com.kvadgroup.photostudio com.lyrebirdstudio.mirror com.picsart.studio com.pixlr.express com.roidapp.photogrid com.seventeenmiles.sketch com.studio8apps.instasizenocrop
Cameras
power (in W) network (in MB) rating
0 2 4 6 8 10 12 l l l l com.fsck.k9
com.google.android.gm
Emails
power (in W) network (in MB) rating
0 2 4 6 8 10 12 l l l l com.apusapps.tools.flashtorch
com.devuni.flashlight
com.intellectualflame.ledflashlight.washer com.rayg.flashlightfree
com.rvappstudios.flashlight com.teslacoilsw.flashlight com.zeroneapps.flashlight flashlight.led.clock
goldenshorestechnologies.brightestflashlight.free
FlashLights
power (in W) network (in MB) rating
0 1 2 3 4 5 6 7 l l l l cn.voilet.musicplaypro
com.aimp.player com.n7mobile.nplayer com.tbig.playerprotrial
MusicPlayers
power (in W) network (in MB) rating
0 2 4 6 8 10 l l l l com.mobilesrepublic.appy
net.aljazeera.english
News
power (in W) network (in MB) rating
0 1 2 3 4 5 6 7 l l l l com.kmplayer
org.videolan.vlc video.player.audio.player.music videoplayer.mediaplayer.hdplayer
VideoPlayers
power (in W) network (in MB) rating
0 5 10 15 l l l l com.droid27.senseflipclockweather
com.droid27.transparentclockweather com.gau.go.launcherex.gowidget.weatherwidget com.weather.Weather
de.wetteronline.wetterapp local.weather.forecast.pro
Weather
In Figures 12-19, the comparison between Pareto optimal applications found by ADAGO, in the different categories, and the application chosen by the user are shown.
0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.apusapps.browser VS mobi.mgeek.TunnyBrowser 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.ksmobile.cb VS mobi.mgeek.TunnyBrowser 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.opera.mini.native VS mobi.mgeek.TunnyBrowser 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.UCMobile.intl VS mobi.mgeek.TunnyBrowser
Figure 12: Comparing Pareto optimal apps found by the ADAGO, in the Browsers category, respect to the app chosen by the user.
0 1 2 3 4 5
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User cn.jingling.motu.photowonder VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.arcsoft.perfect365 VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.finnal.photoeditor VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.kvadgroup.photostudio VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.lyrebirdstudio.mirror VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.picsart.studio VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.pixlr.express VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.roidapp.photogrid VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.seventeenmiles.sketch VS com.roidapp.photogrid 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.studio8apps.instasizenocrop VS com.roidapp.photogrid
Figure 13: Comparing Pareto optimal apps found by the ADAGO, in the Cameras category, respect to the app chosen by the user.
0.0 2.5 5.0 7.5 10.0 12.5
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.fsck.k9 VS com.fsck.k9 0 5 10
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.google.android.gm VS com.fsck.k9
Figure 14: Comparing Pareto optimal apps found by the ADAGO, in the Emails category, respect to the app chosen by the user.
0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.apusapps.tools.flashtorch VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.devuni.flashlight VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.intellectualflame.ledflashlight.washer VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.rayg.flashlightfree VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.rvappstudios.flashlight VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.teslacoilsw.flashlight VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User com.zeroneapps.flashlight VS goldenshorestechnologies.brightestflashlight.free 0 1 2 3 4
Network (in MB) Power (in W) Rating Objective Mean Selection ADAGO User flashlight.led.clock VS goldenshorestechnologies.brightestflashlight.free
Figure 15: Comparing Pareto optimal apps found by the ADAGO, in the Flash Lights category, respect to the app chosen by the user.
0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User cn.voilet.musicplaypro VS com.tbig.playerprotrial 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.aimp.player VS com.tbig.playerprotrial 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.n7mobile.nplayer VS com.tbig.playerprotrial 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.tbig.playerprotrial VS com.tbig.playerprotrial
Figure 16: Comparing Pareto optimal apps found by the ADAGO, in the Music Players cate-gory, respect to the app chosen by the user.
0 2 4 6
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.mobilesrepublic.appy VS com.guardian 0 2 4 6
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User net.aljazeera.english VS com.guardian
0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.kmplayer VS video.player.audio.player.music 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User org.videolan.vlc VS video.player.audio.player.music 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User video.player.audio.player.music VS video.player.audio.player.music 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User videoplayer.mediaplayer.hdplayer VS video.player.audio.player.music
Figure 18: Comparing Pareto optimal apps found by the ADAGO, in the Video Players cate-gory, respect to the app chosen by the user.
0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.droid27.senseflipclockweather VS com.handmark.expressweather 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.droid27.transparentclockweather VS com.handmark.expressweather 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.gau.go.launcherex.gowidget.weatherwidget VS com.handmark.expressweather 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User com.weather.Weather VS com.handmark.expressweather 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User de.wetteronline.wetterapp VS com.handmark.expressweather 0 1 2 3 4
Network (in MB) Power (in W) Rating
Objective Mean Selection ADAGO User local.weather.forecast.pro VS com.handmark.expressweather
Figure 19: Comparing Pareto optimal apps found by the ADAGO, in the Weather category, respect to the app chosen by the user.
References
[1] K. Deb. Multi-objective Optimization using Evolutionary Algorithms. Wiley, Chichester, 2001.
[2] J.J. Durillo and A.J. Nebro. jMetal: A Java framework for multi-objective optimization. Advances in Engineering Software, 42:760–771, 2011.
[3] Ruben Saborido, Giovanni Beltrame, Foutse Khomh, Enrique Alba, and Giulio Anto-niol. Optimizing user experience in choosing android applications. In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), March 14-18, 2016.