SlideShare a Scribd company logo
1 of 13
Exploring the Development of
Micro-Apps
Mark D. Syer, Bram Adams, Ying Zou and Ahmed E.
Hassan
mdsyer@cs.queensu.ca
Software Analysis and Intelligence Lab
Queen’s University, Canada
1
Huge number of apps
2
AvailableApps(000’s)
+244%
+150%
+70%
All users want the same apps
4 of the top 5 apps are
common to all platforms
.
3
Given the same app on
two different platforms,
how do they compare?
4
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
Popular Mobile App Platforms
5
WordPress
Google Authenticator
Facebook SDK
Functionally Equivalent App Pairs
Android apps are smaller
6
0
5
10
15
20
25
30
35
40
FacebookSDK Google Authenticator Wordpress
Android
BlackBerry
LinesofCode(thousands)
7
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
Types of micro app dependencies
8
Unique Code Base Third Party Library
foo
bar
main
JAVA APIsAndroid or BlackBerry APIs
Platform Dependencies
JAVA
Dependencies
Unique Dependencies
Third Party
Dependencies
Android apps depend on platform
9
10
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
but, more third
party libraries
11
2009 2010 2011
Constantly Growing Code Base
12
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
but, more third
party libraries
Discussion
• Platform support:
– Good? additional features and functionality
reduces development effort
– Bad? high platform dependency leads to lock-in
and increases the effort of porting
• How do micro apps compare to desktop
applications?
• How does adoption/migration of platform
dependencies vary o
13

More Related Content

What's hot

Mobile application security
Mobile application securityMobile application security
Mobile application securityShubhneet Goel
 
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Robert Nyman
 
Incident Management Mobile Application
Incident Management Mobile ApplicationIncident Management Mobile Application
Incident Management Mobile ApplicationMike Taylor
 
Challenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityChallenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityCygnet Infotech
 
Android App Security Solution
Android App Security SolutionAndroid App Security Solution
Android App Security SolutionJay Li
 
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...IBM Security
 
Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)satish reddy
 
Mobile application security Guidelines
Mobile application security GuidelinesMobile application security Guidelines
Mobile application security GuidelinesEntersoft Security
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applicationsGTestClub
 
Location based services 10
Location based services   10Location based services   10
Location based services 10Michael Shrove
 
About android applications
About android applicationsAbout android applications
About android applicationsSteve Smith
 
Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...Edureka!
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for DummiesClark Davidson
 
Mobile App development service by GirnarSoft
Mobile App development service by GirnarSoftMobile App development service by GirnarSoft
Mobile App development service by GirnarSoftKomal Agarwal
 

What's hot (19)

Mobile application security
Mobile application securityMobile application security
Mobile application security
 
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
 
Incident Management Mobile Application
Incident Management Mobile ApplicationIncident Management Mobile Application
Incident Management Mobile Application
 
Mobile Apps Security Testing -3
Mobile Apps Security Testing -3Mobile Apps Security Testing -3
Mobile Apps Security Testing -3
 
Challenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityChallenges in Testing Mobile App Security
Challenges in Testing Mobile App Security
 
Mobile app development for android
Mobile app development for androidMobile app development for android
Mobile app development for android
 
Android App Security Solution
Android App Security SolutionAndroid App Security Solution
Android App Security Solution
 
madanResume
madanResumemadanResume
madanResume
 
Mobile App Security Testing -2
Mobile App Security Testing -2Mobile App Security Testing -2
Mobile App Security Testing -2
 
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
 
Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)
 
Mobile application security Guidelines
Mobile application security GuidelinesMobile application security Guidelines
Mobile application security Guidelines
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applications
 
Location based services 10
Location based services   10Location based services   10
Location based services 10
 
About android applications
About android applicationsAbout android applications
About android applications
 
Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for Dummies
 
Mobile App development service by GirnarSoft
Mobile App development service by GirnarSoftMobile App development service by GirnarSoft
Mobile App development service by GirnarSoft
 

Similar to Exploring Development of Micro-Apps

ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...Lili Wei
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfchristiemarie4
 
What Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdfWhat Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdfLaura Miller
 
Best android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdfBest android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdfLaura Miller
 
Top 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdfTop 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdfMoon Technolabs Pvt. Ltd.
 
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunityWindows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunityFrédéric Harper
 
Software Development Trends 2014
Software Development Trends 2014Software Development Trends 2014
Software Development Trends 2014IMC Institute
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...ReformedTech
 
Benefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdfBenefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdfMoon Technolabs Pvt. Ltd.
 
Native vs cross platform native development which one is right for your requ...
Native vs cross platform native development  which one is right for your requ...Native vs cross platform native development  which one is right for your requ...
Native vs cross platform native development which one is right for your requ...Concetto Labs
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutionsSN Tech Solutions
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdfLeed Software Development
 
18-mobile-malware.pptx
18-mobile-malware.pptx18-mobile-malware.pptx
18-mobile-malware.pptxsundar110567
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Choosing the Right OS for Mobile App
Choosing the Right OS for Mobile AppChoosing the Right OS for Mobile App
Choosing the Right OS for Mobile AppCopper Mobile, Inc.
 
Top 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptxTop 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptxBytes Technolab Inc.
 
How APIs are Changing Software Development
How APIs are Changing Software DevelopmentHow APIs are Changing Software Development
How APIs are Changing Software Development3scale
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Rosalie Lauren
 

Similar to Exploring Development of Micro-Apps (20)

ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdf
 
What Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdfWhat Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdf
 
Best android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdfBest android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdf
 
Apps world 2014 15
Apps world 2014 15Apps world 2014 15
Apps world 2014 15
 
Top 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdfTop 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdf
 
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunityWindows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
 
Software Development Trends 2014
Software Development Trends 2014Software Development Trends 2014
Software Development Trends 2014
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Benefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdfBenefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdf
 
Native vs cross platform native development which one is right for your requ...
Native vs cross platform native development  which one is right for your requ...Native vs cross platform native development  which one is right for your requ...
Native vs cross platform native development which one is right for your requ...
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutions
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf
 
18-mobile-malware.pptx
18-mobile-malware.pptx18-mobile-malware.pptx
18-mobile-malware.pptx
 
Why go mobile
Why go mobileWhy go mobile
Why go mobile
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Choosing the Right OS for Mobile App
Choosing the Right OS for Mobile AppChoosing the Right OS for Mobile App
Choosing the Right OS for Mobile App
 
Top 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptxTop 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptx
 
How APIs are Changing Software Development
How APIs are Changing Software DevelopmentHow APIs are Changing Software Development
How APIs are Changing Software Development
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Exploring Development of Micro-Apps

  • 1. Exploring the Development of Micro-Apps Mark D. Syer, Bram Adams, Ying Zou and Ahmed E. Hassan mdsyer@cs.queensu.ca Software Analysis and Intelligence Lab Queen’s University, Canada 1
  • 2. Huge number of apps 2 AvailableApps(000’s) +244% +150% +70%
  • 3. All users want the same apps 4 of the top 5 apps are common to all platforms . 3 Given the same app on two different platforms, how do they compare?
  • 4. 4 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support?
  • 5. Popular Mobile App Platforms 5 WordPress Google Authenticator Facebook SDK Functionally Equivalent App Pairs
  • 6. Android apps are smaller 6 0 5 10 15 20 25 30 35 40 FacebookSDK Google Authenticator Wordpress Android BlackBerry LinesofCode(thousands)
  • 7. 7 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support?
  • 8. Types of micro app dependencies 8 Unique Code Base Third Party Library foo bar main JAVA APIsAndroid or BlackBerry APIs Platform Dependencies JAVA Dependencies Unique Dependencies Third Party Dependencies
  • 9. Android apps depend on platform 9
  • 10. 10 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support? but, more third party libraries
  • 11. 11 2009 2010 2011 Constantly Growing Code Base
  • 12. 12 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support? but, more third party libraries
  • 13. Discussion • Platform support: – Good? additional features and functionality reduces development effort – Bad? high platform dependency leads to lock-in and increases the effort of porting • How do micro apps compare to desktop applications? • How does adoption/migration of platform dependencies vary o 13

Editor's Notes

  1. Paper title Introduce myself, my colleagues and my lab [high level overview]
  2. 1. Since Sept 2010, added many more apps
  3. 1. How does the same app compare across two platforms
  4. How does the same app compare across two different platforms? 1. Start by selecting platforms and apps to compare, then compare code base size
  5. When we started our research, these platforms all had a ~25% market share 1. selected Android and BlackBerry because apps for these platforms are written in JAVA (easier to compare) 2. looked for functionally equivalent micro app pairs Functionally equivalent means the each app (one for the Android and another for the BlackBerry) has nearly identical functionality
  6. How does the same app compare across two different platforms? 1. next, dependency analysis
  7. 1. Divide code base into unique and third party 2. For each file, e.g., main 3. Look at how it depends on unique classes 4. And third party classes 5. We also look at how it depends on its environment, including the Java APIs 6. And the platform APIs
  8. 1. Platform - android apps depend on the android platform much more than blackberry apps depend on the blackberry platforms. What are blackberry apps depending on? Where is their additional functionality coming from? 2. APIs – android and blackberry apps depend on JAVA heavily 3. Third Party - here is where blackberry is really making up the difference 4. Unique - again, here is where blackberry is making up some difference
  9. Android platform appears to provide more support, at least that it what developers are telling us but, because blackberry apps depend heavily on third party libraries (that they don’t develop themselves) perhaps the development effort for blackberry apps isn’t as high as we thought it was 1. next, churn