Motivation Initiated Research Solving the App Selection Problem Conclusion
Helping Android Users to Find the Most Efficient Apps Rub´ en Saborido, Foutse Khomh SWAT Labs., DGIGL, Polytechnique Montr´ eal, Canada
Ottawa (Canada), 2017
1 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Available information in current marketplaces Performance metrics Availability of performance metrics
Mobile device marketplaces A category in a marketplace contains many apps, often implementing very similar features.
2 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Available information in current marketplaces Performance metrics Availability of performance metrics
Rating to evaluate the quality of mobile apps
3 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Available information in current marketplaces Performance metrics Availability of performance metrics
Power, CPU, memory, and network usage
Why is my phone battery already low?
Why did I use all the data of my monthly plan?
Why is my phone so slow sometimes?
4 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Available information in current marketplaces Performance metrics Availability of performance metrics
Performance Metrics of Apps in Mobile Marketplaces Users want to use efficient apps.
What could users do if performance metrics were available? 5 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Data extraction and optimization
(1)
Selecting Most Popular Android Applications
(3)
Data Collection and Processing
(2)
(4)
Definition of Typical Usage Scenarios
Generation of Optimal Sets of Android Applications
6 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
1) Selecting most popular Android apps
Browsers.
Select popular applications for different categories
Cameras. Flashlights. Music Players.
Stress-test to remove applications which crash
News. Video Players. Weather.
Subset of the most popular Android applications
7 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
1) Selecting most popular Android apps
Browsers (100). Cameras (100).
Select popular applications for different categories
Flashlights (100). MusicPlayers (100).
Stress-test to remove applications which crash
News (100). VideoPlayers (100). Weather (100).
Subset of the most popular Android applications
8 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
1) Selecting most popular Android apps
Browsers (20). Cameras (20).
Select popular applications for different categories
Flashlights (20). MusicPlayers (20).
Stress-test to remove applications which crash
News (20). VideoPlayers (20). Weather (20).
Subset of the most popular Android applications
9 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
2) Definition of typical usage scenarios
Nexus 4 Define a typical usage scenario for each category
Play scenario recording user interaction using HiroMacro
Export HiroMacro script to Monkeyrunner format
Android 5.1.1
10 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
3) Data collection and processing
Play scenario and collect performance metrics for each application
Save average value of perfomance metrics
11 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance POWER USAGE (IN W)
BATTERY LIFE (IN HOURS) 12
4 10
8
3
6 2
4
1
WEATHER
VIDEOPLAYERS
NEWS
MUSICPLAYERS
FLASHLIGHTS
CAMERAS
BROWSERS
WEATHER
NEWS
VIDEOPLAYERS
MUSICPLAYERS
CAMERAS
FLASHLIGHTS
BROWSERS
2
12 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance POWER USAGE (IN W)
BATTERY LIFE (IN HOURS) 12
4 10
8
3
cn.voilet.musicplaypro
6 2 4
cn.voilet.musicplaypro 1
WEATHER
VIDEOPLAYERS
NEWS
MUSICPLAYERS
FLASHLIGHTS
CAMERAS
BROWSERS
WEATHER
NEWS
VIDEOPLAYERS
MUSICPLAYERS
CAMERAS
FLASHLIGHTS
BROWSERS
2
13 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance POWER USAGE (IN W)
BATTERY LIFE (IN HOURS) 12
4
com.eliferun.music
10
8
3
6 2 4
com.eliferun.music
1
WEATHER
VIDEOPLAYERS
NEWS
MUSICPLAYERS
FLASHLIGHTS
CAMERAS
BROWSERS
WEATHER
NEWS
VIDEOPLAYERS
MUSICPLAYERS
CAMERAS
FLASHLIGHTS
BROWSERS
2
14 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance Table: Most popular Android music players’ performance. Application cn.voilet.musicplaypro com.aimp.player com.djit.equalizerplusforandroidfree com.doubleTwist.androidPlayer com.eliferun.music com.google.android.music com.jrtstudio.AnotherMusicPlayer com.jrtstudio.music com.mixzing.basic com.mjc.mediaplayer com.mrgreensoft.nrg.player com.music.player.mp3player.white com.musixmatch.android.lyrify com.n7mobile.nplayer com.tbig.playerprotrial mp3player.mp3cutter.ringtonemaker mp3songs.mp3player.mp3cutter.ringtonemaker music.search.player.mp3player.cut.music org.videolan.vlc yong.media.moobo.musicplayer
Power 1.72 2.72 2.78 2.81 3.91 2.90 2.90 3.05 2.80 2.86 2.83 3.56 2.94 2.91 3.06 3.63 3.60 2.99 2.84 3.72
CPU 2.82 5.39 2.18 3.46 10.88 3.27 3.12 6.05 2.50 0.69 1.94 8.49 0.18 12.95 6.95 5.85 4.76 5.65 6.76 6.86
Memory 86.32 53.65 59.38 90.42 99.36 19.81 79.00 54.87 92.37 73.88 105.83 82.66 80.81 92.74 93.10 83.36 81.39 90.37 58.48 74.16
As user, what app do you choose?
Network 0.42 0.00 0.00 0.00 0.03 0.01 0.00 0.05 0.03 0.00 0.00 0.00 0.06 0.00 0.02 0.00 0.00 0.13 0.00 0.10
Rating 4.38 4.48 4.11 4.28 4.08 3.94 4.29 3.99 4.37 4.02 4.32 4.22 4.45 4.51 4.56 4.27 4.26 4.25 4.37 4.17
15 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance Table: Most popular Android music players’ performance. Application cn.voilet.musicplaypro com.aimp.player com.djit.equalizerplusforandroidfree com.doubleTwist.androidPlayer com.eliferun.music com.google.android.music com.jrtstudio.AnotherMusicPlayer com.jrtstudio.music com.mixzing.basic com.mjc.mediaplayer com.mrgreensoft.nrg.player com.music.player.mp3player.white com.musixmatch.android.lyrify com.n7mobile.nplayer com.tbig.playerprotrial mp3player.mp3cutter.ringtonemaker mp3songs.mp3player.mp3cutter.ringtonemaker music.search.player.mp3player.cut.music org.videolan.vlc yong.media.moobo.musicplayer
Power 1.72* 2.72 2.78 2.81 3.91 2.90 2.90 3.05 2.80 2.86 2.83 3.56 2.94 2.91 3.06 3.63 3.60 2.99 2.84 3.72
CPU 2.82 5.39 2.18 3.46 10.88 3.27 3.12 6.05 2.50 0.69 1.94 8.49 0.18* 12.95 6.95 5.85 4.76 5.65 6.76 6.86
Memory 86.32 53.65 59.38 90.42 99.36 19.81* 79.00 54.87 92.37 73.88 105.83 82.66 80.81 92.74 93.10 83.36 81.39 90.37 58.48 74.16
Network 0.42 0.00 0.00 0.00 0.03 0.01 0.00 0.05 0.03 0.00 0.00 0.00 0.06 0.00* 0.02 0.00 0.00 0.13 0.00 0.10
Rating 4.38 4.48 4.11 4.28 4.08 3.94 4.29 3.99 4.37 4.02 4.32 4.22 4.45 4.51 4.56* 4.27 4.26 4.25 4.37 4.17
16 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance Different users > different needs
at home OR travel context OR old devices, ... 17 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance
80 60 40 20
MEMORY USAGE (IN MB)
100
MUSIC PLAYERS' PERFORMANCE
0
2
4
6
8
10
12
CPU USAGE (IN %)
18 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Different applications different performance
80 60 40
com.djit.equalizerplusforandroidfree com.google.android.music com.mjc.mediaplayer com.musixmatch.android.lyrify
20
MEMORY USAGE (IN MB)
100
MUSIC PLAYERS' PERFORMANCE
0
2
4
6
8
10
12
CPU USAGE (IN %)
19 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Helping users to choose optimal applications
Now do the same for each category of the apps you have:
Browsers
Flashlights
Cameras
News
MusicPlayers
Weather
VideoPlayers
It is what we call the App Selection Problem (the selection of optimal apps)
20 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Selection of optimal apps A solution is a combination of apps, but ...
Browsers
Flashlights
Cameras
News
MusicPlayers
Weather
VideoPlayers
... 207 = 1280, 000, 000 possible combinations! 21 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
Generation of optimal sets of Android apps Problem: optimize [power (x), CPU(x), memory (x), network(x), rating (x)] s.t. x∈F where: power (x) =
PN
CPU(x) = memory (x) = network(x) =
i=1
power (xi ) N
(in Watts)
PN
CPU(xi ) N
PN
memory (xi ) N
(in MB)
PN
network(xi ) N
(in MB)
i=1
i=1
i=1
rating (x) =
PN
i=1
(in %)
rating (xi ) N
22 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Case Study Preliminary Results The App Selection Problem
ADAGO: an Android App DAta enerGy Overhead advisor
Performance metrics and rating of apps
Metrics to optimize (context of usage)
ADAGO
optimize s.t.
[f1(x), ..., fm(x)] x in F
23 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Traveling abroad context
optimize [power (x), CPU(x), memory (x), network(x), rating (x)] s.t. x∈F 24 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Pareto optimal front ADAGO solutions using exhaustive search ADAGO solutions using NSGAII
4.55 4.5 4.45 4.4 RATING 4.35 4.3 4.25 4.2 4.15
2.2
2.3
2.4
2.5 POWER (in W)
2.6
2.7
2 1.95 1.9 1.85 1.8 1.75 1.7 1.65 1.6 1.55 2.8 1.5
NETWORK (in MB)
25 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Do users choose efficient apps? User Solution Browsers
Flashlights
Cameras
News
MusicPlayers
Weather
VideoPlayers
VS
26 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Do users choose efficient apps? ADAGO solutions ADAGO solutions RATING = 4.52 USER solution
Rating 4.52 4.55
User solution
4.5 4.45 4.4 RATING 4.35 4.3 4.25 4.2
2.6
4.15 2.4 2.2 2 2.2
2.3
1.8 2.4
2.5 POWER (in W)
2.6
NETWORK (in MB)
1.6 2.7
2.8 1.4
27 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Do users choose efficient apps? ADAGO solutions ADAGO solutions RATING = 4.52 ADAGO solution (Xminp) ADAGO solution (Xminn) USER solution
Min network
Min power
4.55
User solution
4.5 4.45 4.4 RATING 4.35 4.3 4.25 4.2
2.6
4.15 2.4 2.2 2 2.2
2.3
1.8 2.4
2.5 POWER (in W)
2.6
NETWORK (in MB)
1.6 2.7
2.8 1.4
28 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
5
Do users choose efficient apps? Same rating
1
2
3
4
ADAGO solution with minimum power ADAGO solution with minimum network User solution
Power (in W)
Network (in MB)
Rating
xminp has a better power (5.42%) and network usage (25.67%) xminn has a better power (1.37%) and network usage (29.15%) 29 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
Trade-off between power, network and rating ADAGO solutions ADAGO solution (Xminp) ADAGO solution (Xminn) USER solution
4.55
User solution
4.5 4.45 4.4 RATING 4.35 4.3 4.25 4.2 4.15
Min power
2.6 2.4 2.2
Min network 2.2
2.3
2 1.8
2.4
2.5 POWER (in W)
2.6
NETWORK (in MB)
1.6 2.7
2.8 1.4
30 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
The Problem to be Solved ADAGO’s output Helping Users to Choose Android Apps
5
Trade-off between power, network and rating
1
2
3
4
ADAGO solution with minimum power ADAGO solution with minimum network User solution
Power (in W)
Network (in MB)
Rating
x’minp has a better power (16.61%) and network usage (29.32%) x’minn has a better power (3.84%) and network usage (40.17%) But... sacrificing rating by 6.30% and 6.50%. 31 / 32
Motivation Initiated Research Solving the App Selection Problem Conclusion
Conclusion
find me:
[email protected]
32 / 32