SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Hybrid Mobile Apps in the Google Play Store:
an Exploratory Investigation
I.Malavolta, S.Ruberto, T.Soru, V.Terragni
GSSI
June 1, 2015
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 1 / 21
Presentation structure
1 Context: Hybrid Mobile Apps
Technologies
Issues
2 Study Design
Goals
Research questions
Objects and Variables
Data Extraction
3 Findings
4 Conclusion and Future works
Perceived Values
Conclusion
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 2 / 21
Context: Hybrid Mobile Apps Technologies
Hybrid Mobile Apps
Developments technologies
• a possible solution to mobile platforms
fragmentation
• consistent across platforms
• develop using standard web technologies:
HTML5 CSS JAVASCRIPT
• on top of hybrid development framework
I providing a native wrapper
I a generic JavaScript API that bridges all
the service requests to the corresponding
platform API
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 3 / 21
Context: Hybrid Mobile Apps Issues
Pros and Cons
Pros
• cross-platform portability
• reuse of existing knowledge of
web developers
• simpler and less expensive
development processes
Cons
• restricted access to hardware
features
• variations on user experience
• decrease in performance
Strong debate about benefits and drawbacks
Observation
As of today, limited empirical investigations have been performed on
hybrid mobile apps
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 4 / 21
Study Design Goals
Research Goals
To analyse hybrid mobile apps
• in their actual context of use
• from both the developers’ and end users’
viewpoints
• with a reproducible empirical strategy
I well-defined empirical protocol
I dataset comprising 11,917 apps and 3,041,315
user ratings
I dedicated analysis tool (available online)
1
1
https://github.com/GabMar/ApkCategoryChecker
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 5 / 21
Study Design Research questions
Research questions
RQ1 Are hybrid mobile apps distributed in the Google Play Store?
RQ2 What are the most used hybrid development frameworks for
developing hybrid mobile apps?
RQ3 What are the most used 3rd-party web libraries for developing hybrid
mobile apps?
RQ4 How are hybrid mobile apps integrated to the Android platform
and other installed apps?
RQ5 What is the di↵erence in the user perceived value between hybrid
and native mobile apps?
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 6 / 21
Study Design Objects and Variables
Objects and Variables
Objects
11,917 free Android apps from the Google Play Store
• large number of available apps
• easy to extract relevant information from app binaries
Reference set of hybrid development frameworks
e.g., Apache Cordova, Appcelerator Titanium, etc.
Publicly available reference list on Wikipedia2 in order to
• have a starting point as complete and up to date as possible
• make our study replicable
2
en.wikipedia.org/wiki/Multiplephoneweb-based_application_framework
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 7 / 21
Study Design Objects and Variables
Objects and Variables
Variables (1)
type identify whether the mobile app is
hybrid or native.(RQ1)
frameworkName used hybrid development framework
(e.g. Apache Cordova) (RQ2)
libraries identify the used specific 3rd-party web
libraries (RQ3)
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 8 / 21
Study Design Data Extraction
Objects and Variables
Variables (2)
permissions Identify the permissions requested by the app (RQ4)
rating The average rating provided by the users(RQ5)
reviewsCount Number of reviewsa (RQ5)
a
High-quality mobile apps tend to get more reviews in its app lifecycle
[DK13]
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 9 / 21
Study Design Data Extraction
Data Extraction
The extraction process
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 10 / 21
Study Design Data Extraction
Data Extraction
Extraction - phases 1 and 2
Total
Finance 463
Medical 490
Transportation 438
Travel&Local 484
Health&Fitness 352
Libraries&Demo 418
Business 488
Lifestyle 497
Social 491
Sports 497
Shopping 487
Education 493
Book&References 472
Total
Communication 487
Entertainment 487
News&Magazines 491
Comics 465
Weather 495
Media&Video 483
Productivity 495
Photography 494
Music&Audio 477
Tools 489
Game 492
Personalization 493
ALL 11,917
Replication package with complete apps list downloadable from:
http://cs.gssi.infn.it/hybrid_googleplay_analysis
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 11 / 21
Study Design Data Extraction
Data Extraction
Extraction - phase 3
Open source tool to analyse the APK and extract:
type, frameworkName, libraries, permissions and
size.
Example: identify Apache Cordova
The tool checks if the APK contains:
• an XML file in the path
/res/xml/config.xml
• string “org.apache.cordova” in that XML
• a Java class called CordovaActivity.
Tool publicly available at
https://github.com/GabMar/ApkCategoryChecker
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 12 / 21
Findings
Findings - RQ1
Presence in the Google Play Store
Finding
3.73 % hybrid mobile apps (445 over 11917)
• significantly uncommon among the top-500 apps within 25 Google
Play categories
• hybrid apps are infrequent in categories requiring closer interaction
with the Android platform and hardware: Photography, Music, Audio,
Tools, Game and Personalization
Note
Clear indicator of a future area of work for developers and vendors of
hybrid development frameworks
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 13 / 21
Findings
Findings - RQ2
Used hybrid development frameworks
Finding
Clear winners: Apache Cordova (258) and Appcelerator Titanium (116)
• other frameworks are less used
• in line with informal claims in other research
papers [MCM+13, OT12, CSS12]
Note
Appcelerator Titanium has a spike in the Finance category. It has specific
support for enterprise-level authentication and authorization
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 14 / 21
Findings
Findings - RQ3
Third-party web libraries for hybrid mobile apps
# Web library #apps # Web library #apps
1 jQuery 267 11 Underscore 29
2 jQuery Mobile 106 12 Backbone 27
3 Json2 99 13 Jasmine 27
4 Ionic 58 14 Lo-Dash 21
5 AngularJS 55 15 RequireJS 21
6 Google Analytics 38 16 Bootstrap 20
7 Fastclick 35 17 Mobiscroll 20
8 jQuery UI 32 18 Crypto-js 16
9 Moment.js 32 19 Datejs 15
10 Facebook SDK 30 20 TweenJS 14
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 15 / 21
Findings
Findings - RQ3
...continue
Note
• 16 out of those 20 top used libraries are not specific to mobile
browsers. Developers reuse and build on JavaScript frameworks
already existing in the desktop web area
• Among the top-20 libraries there are two MVC JavaScript
frameworks, namely AngularJS and Backbone
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 16 / 21
Findings
Findings - RQ4
Integration to the Android platform and other apps
Finding
hybrid mobile apps are generally in line with native mobile apps
• 17 out of the top 20 permissions are requested to the Android
platform, whereas the remaining 3 permissions are requested to
Google services
I access the Internet and the network connection state
I write to an external storage drive (e.g. an SD card)
I geographic position of the user
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 17 / 21
Findings
Findings - RQ5
Perceived value
Finding
The average of end user ratings is: for hybrid 3.75 and for native 3.35
Finding
Native apps have been reviewed in average 6.5 times more than hybrid
mobile apps
• Hybrid and native mobile apps are performing equally with respect
to end users’ star-rating across all categories.
• We can interpret the review count disparity as an indication of the
fact that hybrid mobile apps are neither perceived as too satisfying
nor dissatisfying . (see [HZP09])
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 18 / 21
ConclusionandFutureworksPerceivedValues
Futureworks
PerceivedValues
Empiricalstudyfocussingontheenduserperceptionofhybridvsnative
mobileapps
•intheperceivedperformance
•intheperceivedbugginess
•intheinitialdownloadoverhead(appsize)
Empiricalstudyinvestigatinghowhybridmobileappsperformacross
di↵erentplatforms
Surveytargetinghybridappdevelopers
•focusonpractitioners’perceivedstrengths,limitationsandneeds
I.Malavolta,S.Ruberto,T.Soru,V.TerragniHybridMobileAppsJune1,201519/21
Conclusion and Future works Conclusion
Conclusion
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 20 / 21
Conclusion and Future works Conclusion
[CSS12] Luis Corral, Alberto Sillitti, and Giancarlo Succi.
Mobile multiplatform development: An experiment for performance analysis.
Procedia Computer Science, 10:736–743, 2012.
[DK13] Diya Datta and Sangaralingam Kajanan.
Do app launch times impact their subsequent commercial success? an analytical approach.
In Cloud Computing and Big Data (CloudCom-Asia), 2013 International Conference on, pages 205–210. IEEE,
2013.
[HZP09] Nan Hu, Jie Zhang, and Paul A Pavlou.
Overcoming the j-shaped distribution of product reviews.
Communications of the ACM, 52(10):144–147, 2009.
[MCM+
13] Emiliano Masi, Giovanni Cantone, Manuel Mastrofini, Giuseppe Calavaro, and Paolo Subiaco.
Mobile apps development: A framework for technology decision making.
In Mobile Computing, Applications, and Services, pages 64–79. Springer, 2013.
[OT12] Julian Ohrt and Volker Turau.
Cross-platform development tools for smartphone applications.
Computer, (9):72–79, 2012.
I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 21 / 21

Weitere ähnliche Inhalte

Andere mochten auch

Mobile Applications Development - Lecture 0
Mobile Applications Development - Lecture 0Mobile Applications Development - Lecture 0
Mobile Applications Development - Lecture 0Ivano Malavolta
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
Mission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsMission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsIvano Malavolta
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Ivano Malavolta
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesIvano Malavolta
 
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...Ivano Malavolta
 

Andere mochten auch (8)

Mobile Applications Development - Lecture 0
Mobile Applications Development - Lecture 0Mobile Applications Development - Lecture 0
Mobile Applications Development - Lecture 0
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
Mission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsMission planning of autonomous quadrotors
Mission planning of autonomous quadrotors
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challenges
 
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
 
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
 

Mehr von Ivano Malavolta

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...Ivano Malavolta
 
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)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
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 ...Ivano Malavolta
 
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]Ivano Malavolta
 
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...Ivano Malavolta
 
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 ...Ivano Malavolta
 
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...Ivano Malavolta
 
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...Ivano Malavolta
 
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] [...Ivano Malavolta
 
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...Ivano Malavolta
 
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...Ivano Malavolta
 
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...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[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 LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

Mehr von 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)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
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...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
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
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Hybrid Mobile Apps in the Google Play Store: An Exploratory Investigation

  • 1. Hybrid Mobile Apps in the Google Play Store: an Exploratory Investigation I.Malavolta, S.Ruberto, T.Soru, V.Terragni GSSI June 1, 2015 I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 1 / 21
  • 2. Presentation structure 1 Context: Hybrid Mobile Apps Technologies Issues 2 Study Design Goals Research questions Objects and Variables Data Extraction 3 Findings 4 Conclusion and Future works Perceived Values Conclusion I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 2 / 21
  • 3. Context: Hybrid Mobile Apps Technologies Hybrid Mobile Apps Developments technologies • a possible solution to mobile platforms fragmentation • consistent across platforms • develop using standard web technologies: HTML5 CSS JAVASCRIPT • on top of hybrid development framework I providing a native wrapper I a generic JavaScript API that bridges all the service requests to the corresponding platform API I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 3 / 21
  • 4. Context: Hybrid Mobile Apps Issues Pros and Cons Pros • cross-platform portability • reuse of existing knowledge of web developers • simpler and less expensive development processes Cons • restricted access to hardware features • variations on user experience • decrease in performance Strong debate about benefits and drawbacks Observation As of today, limited empirical investigations have been performed on hybrid mobile apps I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 4 / 21
  • 5. Study Design Goals Research Goals To analyse hybrid mobile apps • in their actual context of use • from both the developers’ and end users’ viewpoints • with a reproducible empirical strategy I well-defined empirical protocol I dataset comprising 11,917 apps and 3,041,315 user ratings I dedicated analysis tool (available online) 1 1 https://github.com/GabMar/ApkCategoryChecker I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 5 / 21
  • 6. Study Design Research questions Research questions RQ1 Are hybrid mobile apps distributed in the Google Play Store? RQ2 What are the most used hybrid development frameworks for developing hybrid mobile apps? RQ3 What are the most used 3rd-party web libraries for developing hybrid mobile apps? RQ4 How are hybrid mobile apps integrated to the Android platform and other installed apps? RQ5 What is the di↵erence in the user perceived value between hybrid and native mobile apps? I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 6 / 21
  • 7. Study Design Objects and Variables Objects and Variables Objects 11,917 free Android apps from the Google Play Store • large number of available apps • easy to extract relevant information from app binaries Reference set of hybrid development frameworks e.g., Apache Cordova, Appcelerator Titanium, etc. Publicly available reference list on Wikipedia2 in order to • have a starting point as complete and up to date as possible • make our study replicable 2 en.wikipedia.org/wiki/Multiplephoneweb-based_application_framework I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 7 / 21
  • 8. Study Design Objects and Variables Objects and Variables Variables (1) type identify whether the mobile app is hybrid or native.(RQ1) frameworkName used hybrid development framework (e.g. Apache Cordova) (RQ2) libraries identify the used specific 3rd-party web libraries (RQ3) I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 8 / 21
  • 9. Study Design Data Extraction Objects and Variables Variables (2) permissions Identify the permissions requested by the app (RQ4) rating The average rating provided by the users(RQ5) reviewsCount Number of reviewsa (RQ5) a High-quality mobile apps tend to get more reviews in its app lifecycle [DK13] I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 9 / 21
  • 10. Study Design Data Extraction Data Extraction The extraction process I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 10 / 21
  • 11. Study Design Data Extraction Data Extraction Extraction - phases 1 and 2 Total Finance 463 Medical 490 Transportation 438 Travel&Local 484 Health&Fitness 352 Libraries&Demo 418 Business 488 Lifestyle 497 Social 491 Sports 497 Shopping 487 Education 493 Book&References 472 Total Communication 487 Entertainment 487 News&Magazines 491 Comics 465 Weather 495 Media&Video 483 Productivity 495 Photography 494 Music&Audio 477 Tools 489 Game 492 Personalization 493 ALL 11,917 Replication package with complete apps list downloadable from: http://cs.gssi.infn.it/hybrid_googleplay_analysis I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 11 / 21
  • 12. Study Design Data Extraction Data Extraction Extraction - phase 3 Open source tool to analyse the APK and extract: type, frameworkName, libraries, permissions and size. Example: identify Apache Cordova The tool checks if the APK contains: • an XML file in the path /res/xml/config.xml • string “org.apache.cordova” in that XML • a Java class called CordovaActivity. Tool publicly available at https://github.com/GabMar/ApkCategoryChecker I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 12 / 21
  • 13. Findings Findings - RQ1 Presence in the Google Play Store Finding 3.73 % hybrid mobile apps (445 over 11917) • significantly uncommon among the top-500 apps within 25 Google Play categories • hybrid apps are infrequent in categories requiring closer interaction with the Android platform and hardware: Photography, Music, Audio, Tools, Game and Personalization Note Clear indicator of a future area of work for developers and vendors of hybrid development frameworks I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 13 / 21
  • 14. Findings Findings - RQ2 Used hybrid development frameworks Finding Clear winners: Apache Cordova (258) and Appcelerator Titanium (116) • other frameworks are less used • in line with informal claims in other research papers [MCM+13, OT12, CSS12] Note Appcelerator Titanium has a spike in the Finance category. It has specific support for enterprise-level authentication and authorization I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 14 / 21
  • 15. Findings Findings - RQ3 Third-party web libraries for hybrid mobile apps # Web library #apps # Web library #apps 1 jQuery 267 11 Underscore 29 2 jQuery Mobile 106 12 Backbone 27 3 Json2 99 13 Jasmine 27 4 Ionic 58 14 Lo-Dash 21 5 AngularJS 55 15 RequireJS 21 6 Google Analytics 38 16 Bootstrap 20 7 Fastclick 35 17 Mobiscroll 20 8 jQuery UI 32 18 Crypto-js 16 9 Moment.js 32 19 Datejs 15 10 Facebook SDK 30 20 TweenJS 14 I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 15 / 21
  • 16. Findings Findings - RQ3 ...continue Note • 16 out of those 20 top used libraries are not specific to mobile browsers. Developers reuse and build on JavaScript frameworks already existing in the desktop web area • Among the top-20 libraries there are two MVC JavaScript frameworks, namely AngularJS and Backbone I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 16 / 21
  • 17. Findings Findings - RQ4 Integration to the Android platform and other apps Finding hybrid mobile apps are generally in line with native mobile apps • 17 out of the top 20 permissions are requested to the Android platform, whereas the remaining 3 permissions are requested to Google services I access the Internet and the network connection state I write to an external storage drive (e.g. an SD card) I geographic position of the user I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 17 / 21
  • 18. Findings Findings - RQ5 Perceived value Finding The average of end user ratings is: for hybrid 3.75 and for native 3.35 Finding Native apps have been reviewed in average 6.5 times more than hybrid mobile apps • Hybrid and native mobile apps are performing equally with respect to end users’ star-rating across all categories. • We can interpret the review count disparity as an indication of the fact that hybrid mobile apps are neither perceived as too satisfying nor dissatisfying . (see [HZP09]) I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 18 / 21
  • 20. Conclusion and Future works Conclusion Conclusion I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 20 / 21
  • 21. Conclusion and Future works Conclusion [CSS12] Luis Corral, Alberto Sillitti, and Giancarlo Succi. Mobile multiplatform development: An experiment for performance analysis. Procedia Computer Science, 10:736–743, 2012. [DK13] Diya Datta and Sangaralingam Kajanan. Do app launch times impact their subsequent commercial success? an analytical approach. In Cloud Computing and Big Data (CloudCom-Asia), 2013 International Conference on, pages 205–210. IEEE, 2013. [HZP09] Nan Hu, Jie Zhang, and Paul A Pavlou. Overcoming the j-shaped distribution of product reviews. Communications of the ACM, 52(10):144–147, 2009. [MCM+ 13] Emiliano Masi, Giovanni Cantone, Manuel Mastrofini, Giuseppe Calavaro, and Paolo Subiaco. Mobile apps development: A framework for technology decision making. In Mobile Computing, Applications, and Services, pages 64–79. Springer, 2013. [OT12] Julian Ohrt and Volker Turau. Cross-platform development tools for smartphone applications. Computer, (9):72–79, 2012. I.Malavolta, S.Ruberto, T.Soru, V.Terragni Hybrid Mobile Apps June 1, 2015 21 / 21