SlideShare a Scribd company logo
1 of 67
Download to read offline
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
iOS developer
Who’s speaking?
2009
Android developer2010
Cross-platform developer2011
Instructor on mobile apps development
for 5 years2012
VRIJE
UNIVERSITEIT
AMSTERDAM
2014
2016
Experiments at the
GREEN LAB
Empirical research on hybrid apps
2017
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
The Green Lab
Our platform for researching
on software
– energy efficiency
– performance
Students measure
real software solutions
OpenSTF
+ ADB
Serve
web pages
VMWare
manager
SSH
MEASURES
Wifi
network
Router
Experiment
orchestrator
OpenSTF
Web
interface
Power
meters
A PLATFORM
A COURSE
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Roadmap
Questions
Deep dive into mobile apps development
Who is speaking?
Energy consumption (of progressive web apps)
User perceptions (of hybrid apps)
Performance (of native apps)
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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!)
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Let’s burst the first myth
http://www.slideshare.net/fling/native-v-hybrid-v-web
Mobile apps development IS NOT CHEAP
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
NATIVE
APP
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Native
Development strategies
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
• 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
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Fragmentation
Obj-C
code
Swift
code
XCode
Java
code
C++
code
Eclipse
C#
code
C++
code
Visual Studio
JS
code
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
NATIVE
APP
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Native
Development strategies
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
Web
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
• 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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
NATIVE
WRAPPER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
PLATFORM APIs
NATIVE
APP
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Native Web
Hybrid
Development strategies
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Web-based hybrid mobile apps
Single code
base
Bridge API
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
NATIVE
WRAPPER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
PLATFORM APIs
NATIVE
APP
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Native Web
Hybrid
Development strategies
Progressive
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
Service
workers
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
The journey of a PWA
1. The user accesses the website as
usual
https://goo.gl/KIZydg
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
https://goo.gl/KIZydg
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
https://goo.gl/KIZydg
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Components of a PWA
HTTPS
Web
Manifest
Service
workers
{
"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"
}, ...
}],
...
}
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Offline-first experience
Web App
Service
worker
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);
});
);
});
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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,
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
7a. HTTP
requests as part
of the scenario
Mobile device
Server
Measurement infrastructure
Orchestration
script
Monkey
runner
Trepn
profiler
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
Fiddler
proxy
Hosted
PWA
ADB
OS
4. start
scenario
run
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Results - devices
Overall energy consumption across devices
Low-end High-end
High difference across devices
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
PWA-specific trends
Low-end
2G
WiFi
High-end
Different PWAs
à different
impact of SWs
Same PWA
à SWs have a
different impact
under different
conditions
- - - - + + +
+
-
+
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
How does each SW look like?
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Conclusions
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
PWAs have been advertised as:
• performance boosters
• network savers
• providers of better UX
However…
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
7a. HTTP
requests as part
of the scenario
Mobile device
Server
Measurement infrastructure
Orchestration
script
Monkey
runner
Trepn
profiler
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
Fiddler
proxy
Hosted
PWA
ADB
OS
4. start
scenario
run
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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)
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Goal
Quantitative and qualitative characterization of
(documented) performance-related commits
for Android apps
Developer
?
App
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Dataset?
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Dataset
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
How to identify performance-related commits?
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Open card sorting
– 2 people performed the task, a third one checked the results
1st phase
commits tagged based on keywords
e.g., read from file system, swipe lag
2nd phase
commits clustered into meaningful,
labeled groups
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Results (RQ2)
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
As a developer I can exploit this emerging collective knowledge
for improving the performance of MY mobile app
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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).
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Pros
• cross-platform portability
• reuse of existing knowledge of
web developers
• simpler and less expensive
development processes
Hybrid mobile apps
Cons
• restricted access to hardware
features
• 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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Research goal
Developer
End users
creates
download
& 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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Data extraction
Classified apps
(hybrid vs native)
Hybrid apps
classifier*
top-500 most popular free apps for
each category of the Google Play
Store
~11k app binaries
Apps and
reviews
mining
* analysis tool available here:
http://github.com/GabMar/ApkCategoryChecker
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Results
Data-
intensive
mobile apps[2]
Apps with closer interaction
with the Android platform
Winners, in line with
informal claims[3,4,5]
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Quick test
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Data extraction
Classified apps
(hybrid vs native)
Hybrid apps
classifier*
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 user
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* analysis tool available here:
http://github.com/GabMar/ApkCategoryChecker
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Reviews analysis
Stopwords
removal
manually performed
by 2 domain experts
Single review
Single review
score
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Perceived value
Average of the ratings as provided by end users
3.35 3.75
Rating = real number in [1, 5]
Certain balance, with neglectable differences
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Perceived value
Polarity of sentiment of end users
where posa = #positive reviews
nega = #negative reviews
Balance between hybrid and
native apps, with some exceptions
Non data-intensive or
requiring multimedia capabilities
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Perceived value
Average 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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Perceived bugginess
where buga = #reviews signalling the presence of bugs or failures
reviewsa = #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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
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 review
score
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Wrap up
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
7a. HTTP
requests as part
of the scenario
Mobile device
Server
Measurement infrastructure
Orchestration
script
Monkey
runner
Trepn
profiler
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
Fiddler
proxy
Hosted
PWA
ADB
OS
4. start
scenario
run
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Reviews analysis
Stopwords
removal
manually performed
by 2 domain experts
Single review
Single review
score
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
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Open card sorting
– 2 people performed the task, a third one checked the results
1st phase
commits tagged based on keywords
e.g., read from file system, swipe lag
2nd phase
commits clustered into meaningful,
labeled groups
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
NATIVE
WRAPPER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
PLATFORM APIs
NATIVE
APP
01010101010101101010
1010101011011010
010101010101011101
010101010101011010
PLATFORM APIs
Native Web
Hybrid
Development strategies
Progressive
BROWSER
<html>
<head>
<script src=” ...” />
</head>
<body>
...
Service
workers
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Contact
Ivano Malavolta |
Vrije Universiteit Amsterdam
iivanoo
i.malavolta@vu.nl
www.ivanomalavolta.com
A few of the contents of this presentation are from co-authors’ slides

More Related Content

Viewers also liked

Viewers also liked (12)

Research methods Ch. 2
Research methods Ch. 2Research methods Ch. 2
Research methods Ch. 2
 
Design of Experiment
Design of ExperimentDesign of Experiment
Design of Experiment
 
Experiment Design - strategy and markets determine what you should test
Experiment Design - strategy and markets determine what you should testExperiment Design - strategy and markets determine what you should test
Experiment Design - strategy and markets determine what you should test
 
Behavior Based Approach to Experiment Design
Behavior Based Approach to Experiment DesignBehavior Based Approach to Experiment Design
Behavior Based Approach to Experiment Design
 
[05-A] Experiment design (basics)
[05-A] Experiment design (basics)[05-A] Experiment design (basics)
[05-A] Experiment design (basics)
 
How Teaching UX is One Giant Participatory Design Experiment
How Teaching UX is One Giant Participatory Design ExperimentHow Teaching UX is One Giant Participatory Design Experiment
How Teaching UX is One Giant Participatory Design Experiment
 
AgileCamp Silicon Valley 2015: Experiment Design
AgileCamp Silicon Valley 2015: Experiment DesignAgileCamp Silicon Valley 2015: Experiment Design
AgileCamp Silicon Valley 2015: Experiment Design
 
Red Mat: A Design Experiment
Red Mat: A Design ExperimentRed Mat: A Design Experiment
Red Mat: A Design Experiment
 
Design of experiment methodology
Design of experiment methodologyDesign of experiment methodology
Design of experiment methodology
 
Quality by Design : Design of experiments
Quality by Design : Design of experimentsQuality by Design : Design of experiments
Quality by Design : Design of experiments
 
Experimental Design
Experimental DesignExperimental Design
Experimental Design
 
Module 1 Scientific Method Ppt
Module 1 Scientific Method PptModule 1 Scientific Method Ppt
Module 1 Scientific Method Ppt
 

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

Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
Thomas Pham
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
Dr. Fahad Aijaz
 

Similar to Mobile Apps quality - a tale about energy, performance, and users’ perception (20)

Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...
Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...
Assessing the Impact of Service Workers on the Energy Efficiency of Progressi...
 
Beyond Native Apps: Web Technologies to the Rescue! [SPLASH 2016 - Mobile! k...
Beyond Native Apps:  Web Technologies to the Rescue! [SPLASH 2016 - Mobile! k...Beyond Native Apps:  Web Technologies to the Rescue! [SPLASH 2016 - Mobile! k...
Beyond Native Apps: Web Technologies to the Rescue! [SPLASH 2016 - Mobile! k...
 
IRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of thingsIRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of things
 
Resource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor NetworkResource Oriented Architecture in Wireless Sensor Network
Resource Oriented Architecture in Wireless Sensor Network
 
Web-based Hybrid Mobile Apps: State of the Practice and Research opportunitie...
Web-based Hybrid Mobile Apps: State of the Practice and Research opportunitie...Web-based Hybrid Mobile Apps: State of the Practice and Research opportunitie...
Web-based Hybrid Mobile Apps: State of the Practice and Research opportunitie...
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar
 
Continuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To GuideContinuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To Guide
 
Continuous Mobile Testing Using Jenkins - A How To Guide
 Continuous Mobile Testing Using Jenkins - A How To Guide Continuous Mobile Testing Using Jenkins - A How To Guide
Continuous Mobile Testing Using Jenkins - A How To Guide
 
#Devcamp17: Développement d’une Progressive Web Application (PWA) avec le sta...
#Devcamp17: Développement d’une Progressive Web Application (PWA) avec le sta...#Devcamp17: Développement d’une Progressive Web Application (PWA) avec le sta...
#Devcamp17: Développement d’une Progressive Web Application (PWA) avec le sta...
 
Talk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG BéninTalk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG Bénin
 
Is It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeIs It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just Me
 
12-Factor App
12-Factor App12-Factor App
12-Factor App
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 Wrap
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with AgileTesting at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
 
Self Guiding User Experience
Self Guiding User ExperienceSelf Guiding User Experience
Self Guiding User Experience
 
Encanvas live wireframe data sheet
Encanvas live wireframe data sheetEncanvas live wireframe data sheet
Encanvas live wireframe data sheet
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
Resume_ver_5
Resume_ver_5Resume_ver_5
Resume_ver_5
 

More from Ivano Malavolta

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validity
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 

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