Helping Android Users to Find the Most Efficient Apps

2 downloads 0 Views 4MB Size Report
Availability of performance metrics. Rating to evaluate the quality of mobile apps ..... optimize [power(x),CPU(x),memory(x),network(x),rating(x)]. s.t. x ∈ F where:.
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