Mobile Apps quality - a tale about energy, performance, and users’ perception

67
Ivano Malavolta VRIJE UNIVERSITEIT AMSTERDAM VRIJE UNIVERSITEIT AMSTERDAM Ivano Malavolta Assistant professor Vrije Universiteit Amsterdam Mobile Apps quality - a tale about energy, performance, and users’ perception

Transcript of Mobile Apps quality - a tale about energy, performance, and users’ perception

Page 1: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

VRIJEUNIVERSITEITAMSTERDAM

Ivano MalavoltaAssistant professor

Vrije Universiteit Amsterdam

Mobile Apps quality -a tale about energy,

performance, and users’ perception

Page 2: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

iOS developer

Who’s speaking?

2009

Android developer2010

Cross-platform developer2011

Instructor on mobile apps developmentfor 5 years2012

VRIJEUNIVERSITEITAMSTERDAM

2014

2016Experiments at theGREEN LAB

Empirical research on hybrid apps

2017

Page 3: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

The Green Lab

Our platform for researching on software– energy efficiency– performance

Students measure real software solutions

OpenSTF+ ADB

Serveweb pages

VMWare manager

SSH

MEASURES

Wifinetwork

Router

Experimentorchestrator

OpenSTF

Web interface

Power meters

A PLATFORM

A COURSE

Page 4: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Roadmap

Qu

est

ions Deep dive into mobile apps development

Who is speaking?

Energy consumption (of progressive web apps)

User perceptions (of hybrid apps)

Performance (of native apps)

Page 5: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Deep dive into mobile apps development

Ivano Malavolta (2016). Web-based hybrid mobile apps: state of the practice and research opportunities. In Proceedings of the International Conference on Mobile Software Engineering and Systems, MOBILESoft '16

Ivano Malavolta (2016). Beyond Native Apps: Web Technologies to the Rescue! (Keynote). In Proceedings of the 1st International Workshop on Mobile Development (Mobile!)

Page 6: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Let’s burst the first myth

htt

p:/

/w

ww

.slid

esh

are

.ne

t/fl

ing

/n

ativ

e-v

-hyb

rid-v

-we

b

Mobile apps development IS NOT CHEAP

Page 7: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Native

Development strategies

Page 8: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

• rich user interfaces and heavy graphics• work offline

• visibility via stores

• slow iteration pace for iOS (stores mediation)• no indexing by search engines

• and.....

PROS

CONS

Native apps

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Page 9: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Fragmentation

Obj-Ccode

Swiftcode

XCode

Javacode

C++code

Eclipse

C#code

C++code

Visual Studio

JScode

Page 10: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Native

Development strategies

BROWSER

<html><head><script src=” ...” /></head><body>...

Web

Page 11: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

• fast development• simple maintenance and updates• cross-platform

• 2-steps access– they are launched via a browser

• do not work offline• no background activities

– geofencing

• poor access to system APIs– push notifications, contacts, etc.

Web apps

PROS

CONS

Page 12: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

BROWSER

<html><head><script src=” ...” /></head><body>...

NATIVE WRAPPER

<html><head><script src=” ...” /></head><body>...

PLATFORM APIs

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Native WebHybrid

Development strategies

Page 13: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Web-based hybrid mobile apps

Single code base

Bridge API

Page 14: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Web-based hybrid apps

• cross-platform portability

• reuse of existing knowledge of web developers

• simpler and less expensive development process

• inherit some cons of native apps• restricted access to system APIs • (slight) decrease in performance

PROS

CONS

Page 15: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

BROWSER

<html><head><script src=” ...” /></head><body>...

NATIVE WRAPPER

<html><head><script src=” ...” /></head><body>...

PLATFORM APIs

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Native WebHybrid

Development strategies

Progressive

BROWSER<html><head><script src=” ...” /></head><body>...

Service workers

Page 16: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

The journey of a PWA

1. The user accesses the website asusual

https://goo.gl/KIZydg

Page 17: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

The journey of a PWA

1. The user accesses the website asusual

2. After the 3rd-4th visit, the website asks to be installed

https://goo.gl/KIZydg

Page 18: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

The journey of a PWA

1. The user accesses the website asusual

2. After the 3rd-4th visit, the website asks to be installed

3. The user can decide to add the app to the home screen

https://goo.gl/KIZydg

Page 19: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

The journey of a PWA

1. The user accesses the website as usual

2. After the 3rd-4th visit, the website asks to be installed

3. The user can decide to add the app to the home screen

4. From now on, the app is top-level, full-screen, and can receive push notifications

https://goo.gl/KIZydg

Page 20: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Components of a PWA

HTTPSWeb

ManifestServiceworkers

{"name": "MyApplication","short_name": "MyApp","scope": "./webApp/","orientation": "portrait","display": "fullscreen","background_color": "#fff","description": "A simple application for testing.","icons": [{"src": "images/touch/homescreen48.png","sizes": "48x48","type": "image/png"

}, ...}],...}

Page 21: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Service workers

Implemented in JavaScript

Multithreading→ runs in a separate thread w.r.t. the main thread

Used for:• push notifications

• background operations

• content caching– offline functionality

Page 22: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Offline-first experience

Web AppServiceworker

response

response

request

Backend

Offline cache

this.addEventListener('fetch', function(event) {event.respondWith(

caches.match(event.request).then(function(response) {return response || fetch(event.request);

}););

});

Page 23: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Energy consumption (of progressive web apps)

Ivano Malavolta, Giuseppe Procaccianti, Paul Noorland, Petar Vukmirovic. Assessing the Impact of Service Workers on the Energy Efficiency of Progressive Web Apps. In Proceedings of the International Conference on Mobile Software Engineering and Systems, MOBILESoft 2017,

Page 24: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

PWAs have been advertised as:

• performance boosters

• network savers

• providers of better UX

However…How does the use of service workers impact the energy efficiency of PWAs under different network conditions?

How does the use of service workers impact the energy efficiency of PWAs?RQ1

RQ2

Page 25: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

PWAs selection • Real PWAs from the pwa.rocks1 repository

• Pseudo-random selection– no toy examples

– data-driven PWAs (aka no videogames)

1 https://pwa.rocks

Name Category Total size

SW size (loc)

Ali Express Shopping 2.1Mb 69

Google I/O 2016 Events 4.2Mb 358

The Washington Post News 4.0Mb 85

Flipkart Shopping 3.8Mb 907

Babe News News 1.2Mb 156

Wiki offline Knowledge 800Kb 1009

The Billings Gazette News 2.1Mb 60

Page 26: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Experiment design

What we measure

Energy consumption of the device in Joules

Variable name Treatments

SW status <on, off>

Android device <high-end, low-end>

Network condition <2G, WiFi>

What we control

What we measure

Page 27: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Experiment design

• full 2x2x2 factorial à all possible combinations of treatments

• 8 combinations x 7 PWAs x 8 runs à

• each run executes a typical usage scenario (10-15 gestures)

448 runs

SW status Device Network

on low-end 2G

on low-end WiFi

on high-end 2G

on high-end WiFi

off low-end 2G

off low-end WiFi

off high-end 2G

off high-end WiFi

Page 28: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

7a. HTTP requests as part of the scenario

Mobile device

Server

Measurement infrastructure

Orchestration script

Monkeyrunner

Trepnprofiler

Chrome

Monkeyrunner

1. HTTP requests impersonating phone

2. HTTP responses (recorded)

9. save collecteddata

3. Start experiment run

5. start 6. start

7b. HTTP responses (possibly altered)

8. collect data

Fiddlerproxy

HostedPWA

ADB

OS

4. start scenario

run

Page 29: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results - devices

Overall energy consumption across devices

Low-end High-end

High difference across devices

Page 30: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results: SW-on VS SW-off

Low-end High-end

Smaller difference in the high-end device

Service workers DO NOT influence the energy consumption of a PWA running on a mobile device

Page 31: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results – network conditions

High-end

+ 2G

Low-end

+ 2G

Low-end

+ WiFi

High-end

+ WiFi

PWAs consume less energy on WiFi

Same device + same network condition à low impact of SWs

Page 32: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

PWA-specific trends

Low-end

2G

WiFi

High-endDifferent PWAsà differentimpact of SWs

Same PWA à SWs have a different impact under differentconditions

- - - - + + +

+

-

+

Page 33: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

How does each SW look like?

Page 34: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results of manual review

No specific trend here

Name Listened events

Caching Obfuscation/minification

Complexity

Ali Express P, N ✓ ✓ 12

Google I/O 2016 I, A, F, M ✓ 9

The Washington Post I, A, P, N ✓ 131

Flipkart I, A, F ✓ ✓ 5

Babe News I, A, F, P, N ✓ 16

Wiki offline I, A, F, S, M, N ✓ ✓ 7

The Billings Gazette I, A, F ✓ 194

Page 35: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Conclusions

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

PWAs have been advertised as:

• performance boosters

• network savers

• providers of better UX

However…

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

7a. HTTP

requests as part

of the scenario

Mobile device

Server

Measurement infrastructure

Orchestration script

Monkeyrunner

Trepnprofiler

Chrome

Monkeyrunner

1. HTTP requests

impersonating phone

2. HTTP responses (recorded)

9. save

collected

data

3. Start experiment run

5. start 6. start

7b. HTTP

responses

(possibly altered)

8. collect data

Fiddlerproxy

HostedPWA

ADB

OS

4. start

scenario

run

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results: SW-on VS SW-off

Low-end High-end

Smaller difference in the high-end device

Service workers DO NOT influence the energy consumption of a PWA running on a mobile device

Page 36: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Performance (of native apps)

Teerath Das, Massimiliano Di Penta, Ivano Malavolta. A Quantitative and Qualitative Investigation of Performance-Related Commits in Android Apps. In 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME 2016)

Page 37: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Goal

Quantitative and qualitative characterization of (documented) performance-related commits

for Android apps

Developer

?App

Page 38: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Research questions

What are the concerns that developers have when dealing with performance issues of Android apps?

To what extent developers consider performance issues of Android apps?RQ1

RQ2

Page 39: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Dataset?

Page 40: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Dataset

Page 41: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

How to identify performance-related commits?

Page 42: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results (RQ1)Out of 68,025 commits of 2,443 apps, we discovered a

total of 457 performance-related commits (0.67%) spread across 180 apps

Page 43: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Open card sorting

– 2 people performed the task, a third one checked the results

1st phasecommits tagged based on keywords e.g., read from file system, swipe lag

2nd phasecommits clustered into meaningful, labeled groups

Page 44: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results (RQ2)

Page 45: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

User interface

• Applied solutions:– use of Android’s recycled views instead of plain list views– render images in slices– ...

Problems related to swipe lags, screen layout drawing, lists scrolling responsiveness

FIX layouts for better rendering performance

Page 46: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Code smells

• Applied solutions:– use more efficient regular expressions– avoid recurrent computations of constant data– avoid usage of deprecated decryption algorithms– ...

Symptoms of poor design and implementation choices

fixed string concatenation performance issue

Page 47: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Memory

• Applied solutions:– stopping auxiliary services when available memory gets low– avoiding to load potentially unused data– ...

Related to the memory footprint of the app

Fixed major memory leak; should improve responsiveness on older devices

Page 48: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Local database access

• Applied solutions:– perform queries in an asynchronous task– add indexes to specific fields– ...

Access to local database can be highly inefficient

Added indexes for post.blogID to improve performance of several lookups

Page 49: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

As a developer I can exploit this emerging collective knowledgefor improving the performance of MY mobile app

Page 50: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

User perceptions (of hybrid apps)

Ivano Malavolta, Stefano Ruberto, Tommaso Soru, Valerio Terragni. Hybrid Mobile Apps in the Google Play Store: An Exploratory Investigation. 2nd ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft 2015).

Ivano Malavolta, Stefano Ruberto, Valerio Terragni, Tommaso Soru. End Users’ Perception of Hybrid Mobile Apps in the Google Play Store. IEEE International Conference on Mobile Services (MS 2015).

Page 51: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Pros

• cross-platform portability

• reuse of existing knowledge of web developers

• simpler and less expensive development processes

Hybrid mobile apps

Cons

• restricted access to hardwarefeatures

• decrease in performance

• variations on user experience

As of today, limited empirical investigations have been performed on hybrid mobile apps

Strong debate about benefits and drawbacks

Page 52: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Research goal

DeveloperEnd users

createsdownload

& use

App

What is the difference between hybrid and native mobile apps as perceived by end users?

Are hybrid mobile apps published in the Google Play Store? What are their main traits?S1

S2

Page 53: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Data extraction

Classified apps(hybrid vs native)

Hybrid appsclassifier*

top-500 most popular free apps for each category of the Google Play Store

~11k app binariesApps and

reviewsmining

* analysis tool available here: http://github.com/GabMar/ApkCategoryChecker

Page 54: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results

Data-intensive mobile apps[2]

Apps with closer interactionwith the Android platform

Winners, in line withinformal claims[3,4,5]

Page 55: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Quick test

Page 56: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Data extraction

Classified apps(hybrid vs native)

Hybrid appsclassifier*

Reviewsanalyzer

top-500 most popular free apps for each category of the Google Play Store

~11k app binaries

50 pages (~255) of reviews for each app

~3M userreviews

apps scores

Apps and reviewsmining

perceived value: 0.5users sentiment: 0.6#reviews: 243performance: 0.6bugginess: 0.1size: 3,456 kb* analysis tool available here:

http://github.com/GabMar/ApkCategoryChecker

Page 57: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Reviews analysis

Stopwordsremoval

manually performed by 2 domain experts

Single review

Single reviewscore

polaritypos: 0.8 performancepos: 0.6polarityneg: 0.1 performanceneg: 0.05bugginess: 0.2

300 random reviews

Keywordsextraction

Relevant keywords

Lemmatization

Tf-idf basedvectors similarity

computation

Page 58: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Perceived valueAverage of the ratings as provided by end users

3.35 3.75

Rating = real number in [1, 5] Certain balance, with neglectable differences

Page 59: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Perceived valuePolarity of sentiment of end users

where posa = #positive reviewsnega = #negative reviews

Balance between hybrid and native apps, with some exceptions

Non data-intensive or requiring multimedia capabilities

Page 60: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Perceived valueAverage review count

where Ra∈ ℕ

Native apps have been reviewed in average 6.5 times more than hybrid mobile apps

Possible interpretation: hybrid mobile apps are neither perceived as too satisfying nor dissatisfying w.r.t. native ones

Page 61: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Perceived performance

where posa = #positive reviews w.r.t. performance of the app nega = #negative reviews w.r.t. performance of the app

Balance between hybrid and native apps, with some exceptions

Page 62: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Perceived bugginess

where buga = #reviews signalling the presence of bugs or failuresreviewsa = #reviews of the app

The highest unbalance between the two development strategies in our study

bugginessa = buga / reviewsa

Possible interpretation: absence of full-fledged testing frameworks for hybrid apps, such as those provided by native apps IDEs like Eclipse and Android Studio

Page 63: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Results – initial download size

6,586 kb4,625 kb

In line with the average size of Android apps

sizea = file size in kilobytes of the app APK file

Page 64: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Data extraction Classified apps

(hybrid vs native)

Hybrid apps

classifiers

Reviews analyzer

top-500 most popular free apps for

each category of the Google Play Store

~11k app binaries

50 pages (~255) of

reviews for each app

~3M app

reviews

apps scores

Apps and reviews mining

perceived value: 0.5

users sentiment: 0.6

#reviews: 243

performance: 0.6

bugginess: 0.1

size: 3,456 kb

Apache Cordova (258) and Appcelerator Titanium (116)

Developers reuse JavaScript frameworks for the desktop web

End users value hybrid and native apps similarly

Hybrid may be good for data-intensive apps, whereas it performs poorly when dealing with low-level, platform-specific features

Reviews analysis

Stopwords

removal

manually performed

by 2 domain experts

Single review

Single reviewscore

polaritypos: 0.8

performancepos: 0

.6

polarityneg: 0.1

performanceneg: 0

.05

bugginess: 0.2

300 random

reviews

Keywords

extraction

Relevant keywords

Lemmatization

Tf-idf based

vectors similarity

computation

Page 65: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Wrap up

Page 66: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

7a. HTTP

requests as part

of the scenario

Mobile device

Server

Measurement infrastructure

Orchestration script

Monkeyrunner

Trepnprofiler

Chrome

Monkeyrunner

1. HTTP requests

impersonating phone

2. HTTP responses (recorded)

9. save

collected

data

3. Start experiment run

5. start 6. start

7b. HTTP

responses

(possibly altered)

8. collect data

Fiddlerproxy

HostedPWA

ADB

OS

4. start

scenario

run

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Reviews analysisStopwords

removal

manually performed by 2 domain experts

Single review

Single reviewscore

polaritypos: 0.8 performancepos: 0.6polarityneg: 0.1 performanceneg: 0.05bugginess: 0.2

300 random reviews

Keywordsextraction

Relevant keywords

Lemmatization

Tf-idf basedvectors similarity

computation

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Open card sorting

– 2 people performed the task, a third one checked the results

1st phasecommits tagged based on keywords e.g., read from file system, swipe lag

2nd phasecommits clustered into meaningful, labeled groups

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

BROWSER

<html><head><script src=” ...” /></head><body>...

NATIVE WRAPPER

<html><head><script src=” ...” /></head><body>...

PLATFORM APIs

NATIVE APP

010101010101011010101010101011011010010101010101011101010101010101011010

PLATFORM APIs

Native WebHybrid

Development strategies

Progressive

BROWSER<html><head><script src=” ...” /></head><body>...

Service workers

Page 67: Mobile Apps quality - a tale about energy, performance, and users’ perception

Ivano Malavolta

VRIJEUNIVERSITEITAMSTERDAM

Contact

Ivano Malavolta | Vrije Universiteit Amsterdam

iivanoo

[email protected]

www.ivanomalavolta.com

A few of the contents of this presentation are from co-authors’ slides